利用Javascript把數字進行小數位數補零
利用Javascript把數字進行小數位數補零
利用Number.toFixed()
是 JavaScript 中用於將數字格式化為指定小數位數的方法。它接受一個參數,即要保留的小數位數,並返回一個代表該數字的字符串,帶有指定的小數位數。
const number = 1.23456;
const result = number.toFixed(2);
console.log(result); // 會輸出 "1.23"
在這個例子中,toFixed(2)
將 1.23456
格式化為帶有兩位小數的字符串 "1.23"
。(直接去除後面位數, 不是四捨五入)
如果指定的小數位數比原始數字的小數位數多,則會在數字後面補零。如果指定的小數位數比原始數字的小數位數少,則會進行四捨五入。
下面這個例子是寫成一個function, 可以重覆利用
function padZero(number, decimalPlaces) {
// 確保 number 是數字
if (typeof number !== 'number') {
return '第一個參數必須是數字';
}
// 確保 decimalPlaces 是正整數
if (!Number.isInteger(decimalPlaces) || decimalPlaces < 0) {
return '第二個參數必須是非負整數';
}
// 轉換為帶有固定小數位數的字符串
const result = number.toFixed(decimalPlaces);
return result;
}
console.log(padZero(1.1, 3)); // 1.100
console.log(padZero(10, 4)); // 10.0000
網路上找到的另一個補零的寫法, 範例如下,
function Pubfunc_DecimalLength(Number, Length) {
let nums = (Number || 0).toString().split('.');
return nums[0] + '.' + (nums[1] || '0').padEnd(Length, "0");
}
程式說明:
let nums = (Number || 0).toString().split('.');
- 這一行首先將傳入的
Number
轉換為字符串,然後使用split()
方法根據小數點將其分割成一個字符串數組。 - 如果
Number
為空或未定義,則使用0
作為默認值。
- 這一行首先將傳入的
return nums[0] + '.' + (nums[1] || '0').padEnd(Length, "0");
- 這一行將
nums
數組的第一個元素(整數部分)與'.'
字符串相連,這部分是不需要處理的。 - 然後是小數部分的處理。首先,
nums[1] || '0'
用來處理可能不存在小數部分的情況,如果不存在,則用'0'
作為默認值。 - 接下來,使用
padEnd()
方法將小數部分的長度補足到Length
所指定的長度,使用'0'
進行補零。 - 最終,返回整數部分和補零後的小數部分拼接成的字符串,這就是函數的最終結果。
- 這一行將
留言
張貼留言