例如,我有浮动1.1111111111,需要得到11111111111和10。
我想避免使用函数,因为我需要它来显示指标前缀。
使用字符串看起来很简单,我只是不确定它是否适合JavaScript。
答案 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/
希望这有帮助!