当输入为科学计数法时,VBA Round() 函数始终返回零

Posted

技术标签:

【中文标题】当输入为科学计数法时,VBA Round() 函数始终返回零【英文标题】:VBA Round() function always returns zero when input is in scientific notation 【发布时间】:2013-12-17 20:17:00 【问题描述】:

Round() VBA 函数有一个奇怪的问题。当我尝试以科学计数法四舍五入任何输入时,它总是返回零:

?单元格(3, 34).值

8,77796901893289E-02

? Round(Cells(3, 34).Value, 0)

0

? Round(8.777, 0)

9

任何线索如何使它工作?

【问题讨论】:

嗯... 8e-2 = 0.08 所以结果看起来是正确的... "8.77796901893289E-02"(美式'.'对不起:P)表示 0.087796901893289,当四舍五入到零小数位时 IS 0... 太棒了 :) 谢谢大家! 【参考方案1】:

8,77796901893289E-02 等于 0,0877796901893289,因此将舍入为零。

【讨论】:

【参考方案2】:

我认为您遇到的问题是 round 处理“位数”而不是有效数字。

这个位数是指小数位数。下图显示了帮助文件中的示例。

【讨论】:

以上是关于当输入为科学计数法时,VBA Round() 函数始终返回零的主要内容,如果未能解决你的问题,请参考以下文章