簡體   English   中英

JavaScript 創建數字的貨幣格式

[英]Currency formatting of JavaScript created numbers

我有一個基本頁面,其中包含用 JS 編寫的類似購物車的系統。

我想將顯示的數字格式化為貨幣,如果可能的話,使用 Intl.NumberFormat 使價格根據用戶區域設置可讀。

對 JS 有非常基礎的了解,我做了各種嘗試都沒有成功,部分代碼如下所示:

$('.price').html(set_price.toFixed(2));

我試圖將上面的代碼修改為:

$('.price').html(Intl.NumberFormat('de-DE').format(parseFloat(set_price.toFixed(2))));

但它不起作用,因為上面代碼產生的數字用於頁面中的其他計算(例如,如果數量改變它會添加/減去數字,導致計算錯誤。)

總數顯示在前端的 div 中,例如:

<div class="price">0</div>

在添加/減去項目時,它會動態更新數字。

有沒有辦法格式化顯示的數字,而不妨礙其計算能力?

您的問題尚不清楚,但是您是否嘗試使用格式化值進行進一步計算? 如果是這樣 - 那么這絕對是一種代碼味道,應該避免。

更好的方法是將實際數字保存在數據 model (內存變量的花哨名稱)中,並僅在演示文稿中顯示格式化數字(實際呈現的 HTML)。 這樣你就永遠不會“阻礙它的計算能力”。

例如

let myValue = x;
let displayValue = Intl.NumberFormat('de-DE').format(parseFloat(myValue.toFixed(2)))
$('.price').html(displayValue);

暫無
暫無

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

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