欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 小數點位數

馮子軒1年前7瀏覽0評論

在js中處理小數點位數是一個常見的問題。有時候需要讓小數只保留幾位,有時候則需要進行四舍五入,或是將小數轉化為整數,再進行運算。下面我們來介紹幾種實現方法及其應用場景。

1. toFixed() 方法

var num = 1.23456789;
var newNum = num.toFixed(2); // newNum 的值為 1.23

該方法可以保留指定小數位數,作用在 Number 類型上,請注意它返回的是字符串類型。

2. Math.round() 方法

var num = 1.23456789;
var newNum = Math.round(num * 100) / 100; // newNum 的值為 1.23

該方法把小數四舍五入為最接近的整數。將數值乘上10的n次方,再用 Math.round() 方法進行四舍五入,最后再除以10的n次方,即為保留n位小數。

3. parseFloat() 方法 + toFixed() 方法

var num = 1.23456789;
var newNum = parseFloat(num.toFixed(2)); // newNum 的值為 1.23

該方法可以先使用 toFixed() 方法保留指定位數,再使用 parseFloat() 方法將字符串轉換為數字類型。

4. Math.floor() 方法

var num = 1.23456789;
var newNum = Math.floor(num * 100) / 100; // newNum 的值為 1.23

該方法返回小于或等于一個給定數字的最大整數,在保留n位小數的情況下,即可實現截取小數位數的效果。

5. 自定義函數

function getDecimal(num, n) {
var sign = num< 0 ? -1 : 1;
var x = Math.pow(10, n);
var res = Math.abs(num) * x;
res = Math.floor(res + 0.5);
var result = res / x * sign;
return result.toFixed(n);
}
var num = 1.23456789;
var newNum = getDecimal(num, 2); // newNum 的值為 1.23

該方法可以根據實際需求,靈活定義保留的位數。

總結:以上是常見的保留小數位數的方法,根據不同場景需求,采用不同的方法實現。在使用 toFixed() 方法時需注意其返回值為字符串類型。使用 Math.round() 時需要乘以10的n次方,再進行四舍五入后除以10的n次方,保證小數點位置正確。