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

ISE*_*ISE 4 javascript fixed-point

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

我想避免使用函数,因为我需要它来显示度量标准前缀.

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

Jes*_*Arr 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;
}
Run Code Online (Sandbox Code Playgroud)

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

希望这可以帮助!