小数消失的奇怪案例

时间:2017-06-22 08:31:54

标签: vba excel-vba excel

当我将它们放入数组然后再将它们粘贴出来时,我有一个消失小数位的问题。不知道为什么会发生这种情况。任何解决方案?

以下示例:

练成:

     A               B 
1    Input           $213,213,132,135,654.00 <--format: Accounting
2    =B1/1000000     $213,213,132.14         <--format: Accounting
3    output          $213,213,132,135,700.00 <--format: Accounting

代码:

Sub test()
Dim ar() As Variant

ReDim ar(1)
ar(1) = Cells(2, 2).Value

ar(1) = ar(1) * 1000000

Cells(3, 2) = ar(1)

End Sub

1 个答案:

答案 0 :(得分:0)

213213132135654.00 / 1000000 = 213213132.135654

当您提到它仅在格式化为会计时才提供答案。会计工作到四个小数位,仅产生结果213213132.1357,当乘以得到不匹配的213213132135700.00时。

关于修复,我建议在所有公式中使用四舍五入到四位小数,或者在另一个工作表中将数学作为数字,然后在主工作表上将结果显示为会计。