有一个大量线程关于这个话题,但没有简单和明确的答案。
有人能告诉我如何永久禁用脚本创建的 .csv 文件中的单元格舍入吗?
基本上, '377635637222436751' 正在转换为 '377635637222437000' 自动完成,这对于我的需求来说是不可接受的。
我尝试过这个:
工具->选项->计算->计算“精度如图所示”
和这个:
格式 > 单元格 > 数字 > 类别 > (向下滚动)文本。
(但考虑到我的脚本创建了 .csv——这个选项不是很好,因为它必须在创建文件后完成)
两者都不起作用。即使在创建文件后格式化列,数字仍然保持四舍五入。
有没有人有什么建议?
答案1
据我所知,LibreOffice 没有任意精度的数字(小数或整数)。因此,如果数字超出长整数的范围这是存储为 IEEE754 数字因此它的精度有限。
因此基本上你不能在 Calc 中进行任意精度的计算,如果你想将长数字读作数字,你就必须将其四舍五入。
如果不需要进行计算,请使用字符串;输入csv
:
,
,
,12345678901234678901234567890
,"123456789012345678901234567890"
(注意引号)然后在阅读时务必添加“引用字段作为文本”和正确的文本分隔符:
...你有
现在 --- 如果您触摸、转换、评估字符串 --- 您将再次进行舍入。
也许您可以使用 64 位整数的货币类型,但据我所知,没有办法强制执行这一点csv
。