Excel浮点精度" ROUND()"黑客不工作

时间:2015-07-31 09:02:02

标签: excel excel-vba vba

在二元系统之外的现实生活中,$ 50.00 / 13,084 / 1,000 = $ 3.821461

格式化为货币时,Excel会将其呈现为$ 0.000003821461326811370000000000

你们中的一些人可能已经穿着我的鞋了。但是,我的研究表明,这个问题只有两种解决方案。

解决方案1/2:检查"设置显示的精度"正如here所解释的那样,但随着时间的推移会使数据不准确,我希望远离这个解决方案。

解决方案2/2:使用ROUND()函数。嗯,那对我不起作用:

= ROUND(50/13084 / 1000,6)呈现为$ 0.000004

这是什么问题?我错误地确定了真正的问题吗?

1 个答案:

答案 0 :(得分:4)

根据已建立的BODMAS(或其他首字母缩略词!)原则,您的第一行是错误的。

你的意思是$ 50.00 /(13,084 / 1,000)= $ 3.821461所以你也需要Excel中的括号。或者使用$ 50.00 / 13,084 * 1,000 = $ 3.821461

请参阅此处的说明:https://www.mathsisfun.com/operation-order-bodmas.html