利用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");
}

程式說明:

  1. let nums = (Number || 0).toString().split('.');

    • 這一行首先將傳入的 Number 轉換為字符串,然後使用 split() 方法根據小數點將其分割成一個字符串數組。
    • 如果 Number 為空或未定義,則使用 0 作為默認值。
  2. return nums[0] + '.' + (nums[1] || '0').padEnd(Length, "0");

    • 這一行將 nums 數組的第一個元素(整數部分)與 '.' 字符串相連,這部分是不需要處理的。
    • 然後是小數部分的處理。首先,nums[1] || '0' 用來處理可能不存在小數部分的情況,如果不存在,則用 '0' 作為默認值。
    • 接下來,使用 padEnd() 方法將小數部分的長度補足到 Length 所指定的長度,使用 '0' 進行補零。
    • 最終,返回整數部分和補零後的小數部分拼接成的字符串,這就是函數的最終結果。

留言

這個網誌中的熱門文章

ORA-12514: TNS: 監聽器目前不知道連線描述區中要求的服務

Oracle 例外控制(Exception Control)

Oracle 工作排程 DBMS_JOB 筆記