将带注释的int转换为long

时间:2013-12-27 20:30:07

标签: c# sql .net excel long-integer

我有一个读取Excel文件列表的程序,这些文件具有不同的列顺序,我有一个代码,用于标识电话号码字段并从每个Excel工作表中读取。 电话号码返回的东西总是用以下语法“9.7150135791e + 011”,我不能在SQL语句中执行SELECT FORMAT(part_no, ""######"") As part_no FROM [" & strSheet & "] ",因为我无法猜测列的索引或名称。 / p>

我想在C#方面解决这个问题,我的意思是将一些转换方法转换为我之前收到的内容。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将其解析为double,然后将其转换为long

var number = decimal.Parse("9.7150135791e+011");
var result = (long)number;

或者,您只需重新格式化字符串:

var result = "9.7150135791e+011".Split("e")[0]; // ...etc.

或者您可以,现在,将原始Excel列格式化为字符串,这样您就不必完成所有这些操作。