如何在动作脚本 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()
希望这对您有所帮助。干杯。
我在 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()
希望这对您有所帮助。干杯。