如何在动作脚本 3 中将指数数转换为十进制数?

How to convert exponential number to decimal numbers in action script 3?

我在 flex 中遇到两个小数相乘的问题。

当我将两个十进制数相乘时,结果就像一个指数数,所以我不知道如何得到十进制数而不是指数数。

我正在使用以下代码进行乘法运算:

var num1:Number = 0.00005;
var num2:Number = 0.000007;
var result:Number = num1 * num2;

在结果变量中,我得到的值为 3.5000000000000003E-10

所以我不知道如何得到十进制数而不是像上面那样得到指数数。

如果有人知道如何解决这个问题,请帮我解决。

您需要使用 Number class 中提供的 .toPrecision(precision:uint) 方法。此方法采用一个参数,即:

precision:uint — An integer between 1 and 21, inclusive, that represents the desired number of digits to represent in the resulting string.

所以简单地做:

trace(result.toPrecision(2));

你应该得到 0.00000000035

的输出

官方文档在这里:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Number.html#toPrecision()

希望这对您有所帮助。干杯。