VBA - 将非常小的值转换为百分比

时间:2017-09-06 10:36:38

标签: excel vba number-formatting

我正在尝试将一个非常小的值转换为百分比,但我得到了一个奇怪的数字。例如,小值,-8.45129E-05。

目前,我正在使用以下代码进行转换。

Cells(i, 6) = FormatPercent(Cells(i, 6), 8, , vbTrue)

如果小值为-8.45129E-05,则得到-845.13%的结果,但正确的结果应为-0.00845129%。我想这个问题是由E-05造成的。有什么建议可以解决这个问题吗?

新的Excel文件示例。

第10行第6列应为-0.0084513%(122.21 / 122.76-1) - (1291 / 1296.7-1)(D列到F列由F计算,H列到J则是手工计算)

enter image description here

1 个答案:

答案 0 :(得分:0)

我通过改变来解决这个问题

Cells(i, 6) = FormatPercent(Cells(i, 6), 8, , vbTrue)

Cells(i, 6) = FormatPercent(Cells(i, 6) * 10000, 8, , vbTrue)
Cells(i, 6) = Cells(i, 6) / 10000

我知道这不是最正确的答案。如果你有一个更好的,我会投你的。