這個問題在這里已經有了答案: 如何格式化數字?[重復] (17 個回答) 5 小時前關閉。
我正在使用.replace(/\B(?=(\d{3}) (?!\d))/g, ',')數字值的字串表示,它作業得很好。
但是,我也在數字上使用 .toFixed() 方法(在它決議為字串之前)來顯示十進制值。
我遇到的問題是逗號現在出現在小數點后的值中,我不想要這個。
例如,使用我現在使用的方法,字串顯示如下: 15,894.710,744但我需要它顯示如下:15,894.710744。
對于代碼背景關系:
const myValue = '31415926535.89793238'; //foobar.value;
const addComma = val => val.replace(/\B(?=(\d{3}) (?!\d))/g, ',');
const numberToChange = addComma(myValue);
console.log(numberToChange)
我似乎無法解決正則運算式,非常感謝您的幫助。
uj5u.com熱心網友回復:
將逗號僅應用于輸入的整數部分。通過在 '.' 上拆分來獲得它。
const myValue = '31415926.538398'; //foobar.value;
const addComma = val => {
const [whole, fraction] = val.split('.');
const withCommas = whole.replace(/\B(?=(\d{3}) (?!\d))/g, ',');
return `${withCommas}.${fraction}`;
}
const numberToChange = addComma(myValue);
console.log(numberToChange)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/367095.html
標籤:javascript 正则表达式 细绳 方法 代替
