Excel VBA到Excel十进制精度

我有一个VBA脚本生成的分配,需要精确到20位小数。 我使用CDec()以适当的小数精度填充数组。 我遇到的问题是,当我将数组输出到Excel工作表时,十进制精度显着下降。 例如,我确认在我的数组中,数字是0.1557094848581301243552712433 ,但是当它输出到工作表时,它会下降到0.15570948485813 。 我可以将数组写入文本文件,并进一步确认数组保持正确的精度。 我甚至尝试创build一个pipe道分隔文本文件,并做TextToColumns无济于事。

有没有人知道如何保持更高水平的小数精度时把数字带入Excel?

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

解决办法

  • 某些插件可能有所帮助(参见参考资料)
  • 将值存储为文本。 没有这个限制,但没有math或舍入可能发生

参考文献:

  • MSFT KB
  • MSFT答案
  • 姐姐堆栈站点w /类似的问题