我正在處理金錢的 float64 表示。例如,2.9 美元表示 2.90 美元,所以如果我需要將其轉(zhuǎn)換為該貨幣的最低面額,我只需乘以 100(2.9*100=290 美分)。這適用于大多數(shù)主要貨幣。但是,例如在日本,float64 表示不會(huì)有小數(shù),因?yàn)槿赵呀?jīng)是最低表示。如果我得到 float64(290) 日元,如果我試圖獲得最低面額,乘以 100 會(huì)得到過(guò)多的日元 - 它應(yīng)該保持原樣。當(dāng)某些貨幣乘以 100 時(shí),除了特殊大小寫之外,處理此問(wèn)題的最佳方法是什么?編輯:我擁有的兩條信息是浮動(dòng)表示和 ISO 貨幣代碼。
1 回答

寶慕林4294392
TA貢獻(xiàn)2021條經(jīng)驗(yàn) 獲得超8個(gè)贊
不要用浮點(diǎn)數(shù)來(lái)賺錢。浮點(diǎn)數(shù)是一個(gè)近似值。float64
(所有 IEEE-754 64 位浮點(diǎn)數(shù)的集合)符合 IEEE 浮點(diǎn)運(yùn)算標(biāo)準(zhǔn) (IEEE 754)。
維基百科:IEEE 754
使用 ISO 4217 標(biāo)準(zhǔn)來(lái)確定次要貨幣單位指數(shù)。大多數(shù)貨幣為 2 (102 = 100),日元 (JPY) 為 0 (10? = 1)。
- 1 回答
- 0 關(guān)注
- 151 瀏覽
添加回答
舉報(bào)
0/150
提交
取消