Monday, January 16, 2017

[JavaScript] 指定小數點位數的四捨五入 (透過 toFixed() 函式)

四捨五入通常會想到 round() ,但 JS 的 round 並不能指定小數點位數,當我們需要四捨五入到小數點第二位時,會需要先 *100 做完 round 後再 /100,有點麻煩,但透過 toFixed 函式可以很簡單的達成...

var num = 1.234;
num = num.toFixed(2);  //1.23

這邊要注意一點,toFixed 回傳資料型態為 string,可以利用 typeof 確認一下
console.log(typeof num);  //string

所以,為了讓資料型態保持為 number,建議使用下面的語法

var num = 1.234;
num = Number(num.toFixed(2));  //1.23 且為 number

備註:
如果瀏覽器不支援 toFixed() 請改用以下作法: (以取到小數點第二位 為例)
num = Math.round(num * 100) / 100;

No comments:

Post a Comment