[英]Parsing numbers with a comma decimal separator in JavaScript
我用這個函數來檢查一個值是否是一個數字:
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
我的程序需要使用德國價值觀。 我們使用逗號而不是點作為小數點分隔符,因此此功能不起作用。
我試圖這樣做:
n.replace(",",".")
但它似乎也不起作用。 我嘗試使用的確切功能是:
function isNumber(n) {
n=n.replace(",",".");
return !isNaN(parseFloat(n)) && isFinite(n);
}
如果我的陳述不夠清楚,這個數字看起來像這個9.000,28
而不是通常的9,000.28
。
您需要先替換(刪除)千位分隔符中的點,然后處理小數點:
function isNumber(n) {
'use strict';
n = n.replace(/\./g, '').replace(',', '.');
return !isNaN(parseFloat(n)) && isFinite(n);
}
var number = parseFloat(obj.value.replace(",",""));
你可能還希望這件事反過來......
obj.value = number.toLocaleString('en-US', {minimumFractionDigits: 2});
我相信最好的方法就是使用 toLocaleString 方法。 例如,我住在巴西,這里我們用逗號作為小數點分隔符。 然后我可以這樣做:
var number = 10.01;
console.log(number)
// log: 10.01
console.log(number.toLocaleString("pt-BR"));
// log: 10,01
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.