/

如何使用JavaScript將逗號轉換為點

如何使用JavaScript將逗號轉換為點

我遇到了一個問題:我有一個字串包含一個十進制數字,但使用者可以用兩種方式來表示,這包含使用點或逗號:

1
2
0,32
0.32

不同的國家使用不同的方法在數字中分隔整數部分和小數部分。

所以我決定在找到逗號時將字串轉換為使用點。

我使用了一個簡單的正則表達式來做到這一點:

1
2
3
let value = '0,32'
value = value.replace(/,/g, '.')
//value 現在為 '0.32'

您可以使用replace(/\./g, ',')來進行相反的操作(請注意在正則表達式中點前面的\,因為它是一個特殊字符)。

正則表達式中的g標誌確保如果逗號(或點在第二個例子中)有多個實例,它們都會被轉換。

這在我們的使用情境下並不適用,我認為我們需要進行更多驗證來檢查輸入的完整性,但這是一個開始。

在我的情況下,在進行這個替換之後,我調用了parseFloat(value)來從字符串中得到浮點數,然後使用toFixed(2)將小數位數限制為2:

1
value = parseFloat(value).toFixed(2)

tags: [“JavaScript”, “String manipulation”, “Regular expressions”, “Localization”]