簡體   English   中英

將本地化百分比轉換為Javascript中的float

[英]Convert localized percentage to float in Javascript

我正在使用JavaScript的Number.toLocaleString()將十進制數字轉換為我擁有的每個語言環境的百分比。 根據語言環境,數字(例如0.5)將轉換為“ 50%”,“ 50%”或“%50”。

轉換完成后,用戶選擇了它的選項,我需要將那些字符串轉換回十進制。 JavaScript為此使用了parseFloat(),在前兩種情況下都可以,但是無法識別前面的百分比並為此返回NaN。

例如:

>> parseFloat("50%")
<- 50
>> parseFloat("50 %")
<- 50
>> parseFloat("%50")
<- NaN

有沒有辦法讓轉換適用於所有本地化百分比? 我知道還有其他方法可以在后台潛入正確的數字而不進行任何轉換,但是當時我對此並不感興趣。

像刪除%這樣簡單的事情怎么樣?

>> parseFloat("%50".replace('%', ''));
<- 50

這將適用於任何上述格式。

我不建議對本地化文本進行任何字符串操作,它們僅應用於顯示目的。

您需要保留預先本地化的值,許多html元素可以顯示本地化的文本,並具有value屬性以保留基礎值。 例如,如果您使用“選擇”:

<select>
    <option value="0.5">50 %</option>
    <option value="1">100 %</option>
    <option value="1.5">150 %</option>
    ...
</select>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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