簡體   English   中英

處理賬戶交易和貨幣時浮動或翻倍

[英]float or double when dealing with an account transaction and money

我一直想知道在我的簡單代碼問題中,從浮點數和雙精度數中使用什么。 關於貨幣,用戶將能夠輸入貨幣存款額並打印出當前余額。 金額不會太大(我認為加倍很適合),但更重要的是我希望它顯示為兩位小數。 我當前正在使用浮點數,但僅顯示為小數點后一位,我也無法添加兩位小數點后的金額。 無論如何,有沒有限制添加的數量並將其限制為只有兩位小數? 也許我可以添加一個簡單的條件。

您不應使用floatdouble進行財務計算; 舍入錯誤會在意外的地方累積。 如果您不需要超過$ 0.01的分辨率,請使用intlong並以美分進行所有計算。 僅在輸入和輸出之間在美分和美元(或您使用的任何貨幣)之間轉換。

如果您需要的分辨率超過$ 0.01(例如,用於中間計算),則應使用BigDecimal數字。 它是為需要高精度的應用而設計的,例如財務計算。

暫無
暫無

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

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