js如何保留兩位小數
轉自:https://jingyan.baidu.com/article/fc07f98940143812ffe51939.html##1
寫js程式碼的時候,會遇到小數型別數字,但是過長的小數位不利於頁面顯示,平常的計算過程也不會要求很高的精度,一般需要保留2位小數即可。下面就來介紹下js保留兩位小數的幾種方法
工具/原料
-
javascript
-
瀏覽器除錯工具
方法/步驟
-
方法一:使用toFixed保留兩位小數
var num1 = 55.3715;
console.log(num1.toFixed(2));
開啟瀏覽器除錯工具,可以看到如下列印結果,55.37保留了兩位小數,之後的兩位捨棄
-
toFixed自帶四捨五入的功能
var num2 = 55.3755;
console.log(num2.toFixed(2));
var num3 = 55.3745;
console.log(num3.toFixed(2));
看下面列印結果,小數第三位為5時,或大於5時進一位,小於5後面幾位直接捨棄
-
toFixed自帶補位功能
var num4 = 55.3;
console.log(num4.toFixed(2));
var num5 = 55;
console.log(num5.toFixed(2));
從列印結果可以看出,55.3補一位0,55補了兩位00
-
方法二:substr直接按字串擷取
var num1 = 55.3785 + "";
console.log("substr方式保留兩位小數:");
console.log(num1.substr(0,num1.indexOf(".")+3));
這種方式沒有四捨五入的功能,直接按位擷取的,也沒有補位功能
-
方法三:浮點數四捨五入
var num1 = parseFloat(55.7856);
if (!isNaN(num1)) {
num1 = Math.round(num1*100)/100;
console.log("將浮點數四捨五入,取小數點後2位:");
console.log(num1);
}
-
上面的方法有四捨五入的功能,但沒有補位的功能,可以通過以下方式實現
var num1 = parseFloat(55);
if (!isNaN(num1)) {
num1 = Math.round(num1*100)/100;
var str = num1.toString();
var rs = str.indexOf('.');
if (rs < 0) {
rs = str.length;
str += '.';
}
while (str.length <= rs + 2) {
str += '0';
}
console.log("將浮點數四捨五入,取小數點後2位,位數不夠進行補位:");
console.log(str);
}
-
7
以上就是js保留小數的幾種方法,可以根據自己的需要選擇
END