我需要將數字格式化爲javascript中的兩位十進制數字。爲了做到這一點,我正在使用toFixed方法正常工作。如何將JavaScript中的數字格式化爲兩位十進制數字?
但在情況下,如果數字不具有任何十進制數字,它不應該顯示小數點
例如10.00應該只有10而不是10.00。
我需要將數字格式化爲javascript中的兩位十進制數字。爲了做到這一點,我正在使用toFixed方法正常工作。如何將JavaScript中的數字格式化爲兩位十進制數字?
但在情況下,如果數字不具有任何十進制數字,它不應該顯示小數點
例如10.00應該只有10而不是10.00。
.toFixed()
你的結果轉換爲字符串,
所以你需要使它回到一個數字:jsBin demo
parseFloat(num.toFixed(2))
或簡單地使用一元+
+num.toFixed(2)
都將給予以下:
// 15.00 ---> 15
// 15.20 ---> 15.2
如果你只是想擺脫.00
情況下,比你可以使用.replace()
num.toFixed(2).replace('.00', '');
注意去字符串操作:上述內容會將您的Number
轉換爲String
。
作爲替代,使這個全球變化(如果你需要,當然),試試這個:
var num1 = 10.1;
var num2 = 10;
var tofixed = Number.prototype.toFixed;
Number.prototype.toFixed = function(precision)
{
var num = this.valueOf();
if (num % 1 === 0)
{
num = Number(num + ".0");
}
return tofixed.call(num, precision);
}
console.log(num1.toFixed(2));
console.log(num2.toFixed(2));
感謝它工作!!!!!! – ashishjmeshram
@anything不用客氣 –
'+(num.toFixed(2))'輸入較少。 ;-) – RobG