当输入为科学计数法时,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() 函数始终返回零的主要内容,如果未能解决你的问题,请参考以下文章