簡體   English   中英

在 JavaScript 中使用逗號小數分隔符解析數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM