JavaScript:表示float为整数和十次幂的乘积

时间:2013-05-20 17:11:06

标签: javascript fixed-point

例如,我有浮动1.1111111111,需要得到11111111111和10。

我想避免使用函数,因为我需要它来显示指标前缀。

使用字符串看起来很简单,我只是不确定它是否适合JavaScript。

1 个答案:

答案 0 :(得分:8)

模块化除法运算符'%'可用于获取JS中除法的余数。这意味着如果我们执行浮点数的模块化除法,我们得到小数点后的值。此外,如果我们构建一个循环,我们乘以10直到小数点后面不再有任何东西,我们可以找到10的最小幂,我们可以将原始数乘以得到一个整数。

以下示例:

function getE(floatingPointValue)
{
    var x = floatingPointValue;
    var digitsAfterDecimal = 0;
    while(x % 1 != 0)
    {
        x = x * 10;
        digitsAfterDecimal++;
    }
    return x.toString() + " *10^-" + digitsAfterDecimal;
}

小提琴:http://jsfiddle.net/L8XtP/2/

希望这有帮助!