Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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
Arrays Excel VBA到Excel十进制精度_Arrays_Vba_Excel - Fatal编程技术网

Arrays Excel VBA到Excel十进制精度

Arrays Excel VBA到Excel十进制精度,arrays,vba,excel,Arrays,Vba,Excel,我有一个VBA脚本,它生成的分配需要精确到小数点后20位。我使用CDec()以正确的十进制精度填充数组。我遇到的问题是,当我将数组输出到Excel工作表时,十进制精度会显著下降。例如,我确认在我的数组中,数字是0.1557094848581301243552712433,但当它输出到工作表中时,它会下降到0.15570948485813。我可以将数组写入文本文件,并进一步确认数组具有正确的精度级别。我甚至尝试过创建一个以管道分隔的文本文件并执行TextToColumns,但都没有效果 有人知道如

我有一个VBA脚本,它生成的分配需要精确到小数点后20位。我使用
CDec()
以正确的十进制精度填充数组。我遇到的问题是,当我将数组输出到Excel工作表时,十进制精度会显著下降。例如,我确认在我的数组中,数字是
0.1557094848581301243552712433
,但当它输出到工作表中时,它会下降到
0.15570948485813
。我可以将数组写入文本文件,并进一步确认数组具有正确的精度级别。我甚至尝试过创建一个以管道分隔的文本文件并执行
TextToColumns
,但都没有效果


有人知道如何在将数字输入excel时保持更高的十进制精度吗?

简单地说:excel“显示时”仅支持15位精度。MSFT KB参考如下。奇怪的是,它存储了正确的值,只是不能(或不能)表示它

解决办法

  • 某些外接程序可能会有所帮助(参见参考资料)
  • 将值存储为文本。没有这样的限制,但可能不会进行数学运算或舍入
参考文献: