2013-01-18 28 views
3

我想截斷數字(作爲字符串給出)到固定的小數位數。數字可以是負數(帶有負號),正數(無符號)。我寧願將數字四捨五入,並保持尾隨零。無論整個數字有多長,我都想要相同的小數位數。這些數字將作爲字符串存儲起來。截斷十進制數字(作爲字符串)到固定數量的地方

例如:

140.234234234 -> 140.234 
1.123123 -> 1.123 
-12.789789 -> -12.790 

回答

6

首先解析它們作爲浮筒,然後用toFixed格式化:

var nums = [ 
    "140.234234234", // -> 140.234 
    "1.123123", // -> 1.123 
    "-12.789789" // -> -12.790 
]; 

nums.forEach(function(n) { 
    console.log(parseFloat(n).toFixed(3)); 
}); 

http://codepen.io/anon/pen/IvxmA

0

任何數量可以通過使用.toFixed被顯示爲一個固定的小數位串:

var num = 140.234234234; 
var fixedDecimalPlace = num.toFixed(3); // is "140.234" 
0
function truncate(numberString, trunk) { 
    var onpoint = numberString.split('.',2); 
    var numberStringTruncated = numberString; 
    if (onpoint.length > 1) { 
     numberStringTruncated = onpoint[0] + '.' + onpoint[1].substring(0,trunk); 
    } 
    return numberStringTruncated; 
} 

這不考慮四捨五入或填充。正如其他答案所建議的,您應該使用parseFloat,後面跟着固定的

相關問題