Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用c#从excel中读取大于12位的数字时,数字会转换为零_C#_Asp.net_Excel - Fatal编程技术网

使用c#从excel中读取大于12位的数字时,数字会转换为零

使用c#从excel中读取大于12位的数字时,数字会转换为零,c#,asp.net,excel,C#,Asp.net,Excel,我正在尝试使用c#使用下面的查询从excel文件中读取长度大于12位的数字 "select Format([F1], 'Number') as Code"; 但是我只正确地得到了12位数字,其余的数字都被转换成了零。为什么呢 示例:787767786546347当从excel文件中读取时,根据MSDN,我得到的是787767786546000: Excel遵循IEEE 754关于如何存储和计算浮点数的规范。因此,Excel在一个数字中只存储15位有效数字,并将第15位之后的数字更改为零 要解

我正在尝试使用c#使用下面的查询从excel文件中读取长度大于12位的数字

 "select Format([F1], 'Number') as Code";
但是我只正确地得到了12位数字,其余的数字都被转换成了零。为什么呢

示例:
787767786546347
当从excel文件中读取时,根据MSDN,我得到的是
787767786546000

Excel遵循IEEE 754关于如何存储和计算浮点数的规范。因此,Excel在一个数字中只存储15位有效数字,并将第15位之后的数字更改为零

要解决此问题,请将单元格格式化为文本。然后,该单元格最多可以显示1024个字符


什么类型的c变量。对于desire c#type,你的execel数是不是太大了?我正在将值输入一个dataseti,你得到的实际值是多少?也许最好展示/陈述一下,这样其他人就可以看到你在12个方面的工作digits@DJKRAZE添加了一个示例:什么类型的国家代码是
787767786546347
?你有整数吗?那么为什么要将
Format
函数与
F1
一起使用呢?我理解这个问题,excel数字是正确的,但当转换为c时,他会漏掉数字。是的,但限制是15,但我只能读取12位,其余都是零。为什么??