2013-11-21 60 views
2

我有一个像这样的数字20000和这样的其他数字3. 第二个数字是第一个数字的小数位数。结果必须 显示这样的20.000,但我不知道我怎么能做到这一点。转换为十进制数

我有这个功能试了一下:

http://jsfiddle.net/w3LtM/

function getNumber(number, decimal) { 

    var n=number.toFixed(decimal); 
    return n; 
} 

getNumber(20000, 3) 

但结果却是有 “20000.000”。

你有什么想法吗?

回答

3

你十进制首先把你的号码10值的电源,然后使用toFixed()

function getNumber(number, decimal) { 
    var n = (number/Math.pow(10,decimal)).toFixed(decimal); 
    return n; 
} 

然后您的通话getNumber(20000, 3);将返回在格式化20.000的权利。

这里是你的updatet提琴:

http://jsfiddle.net/w3LtM/17/

0

试试这个:

function getNumber(number, decimal) { 
    var n = number; 
    for (i = 0; i < decimal; i++) { 
     n = n/10; 
    } 
    return parseFloat(n).toFixed(decimal); 
} 

alert(getNumber(20000, 3)); 

Here is fiddle

0
function getNumber(number, decimal) { 
    return (number/Math.pow(10,decimal)).toFixed(decimal); 
} 

alert(getNumber(20000, 3)); 

警报 “20.000” :)

Working fiddle