Web服務API:我注意到一些公司喜歡將整數作爲「貨幣」數量,而不是傳遞帶小數點的位數(100.29美元)的小數數據類型是否有很好的理由爲什麼他們選擇十進制數據類型的貨幣整數?網絡服務,貨幣輸入
實施例,他們這樣做
- 100 = $ 1.00
- 10043 = $ 100.43
爲什麼不能做到這一點
- 1.00或1 = $ 1
- 100.43 = $ 100.43
Web服務API:我注意到一些公司喜歡將整數作爲「貨幣」數量,而不是傳遞帶小數點的位數(100.29美元)的小數數據類型是否有很好的理由爲什麼他們選擇十進制數據類型的貨幣整數?網絡服務,貨幣輸入
實施例,他們這樣做
爲什麼不能做到這一點
並非所有的文化都使用相同的字符作爲小數點。通過使用最小的相關貨幣單位(所以這裏是美分而不是美元),可以避免應該接受/發出什麼小數點字符的問題。
實際上,我認爲可以在answer to this other question中找到可以提高您的理解的最佳解釋。
不,我沒有看到在提交到服務器進行轉換之前,使其成爲一個整數的因子沒有任何實際益處。而且,這對他們內部實施最好的方式非常重要。
我確實在有這個實現的Web服務之一中注意到了這一點,我之所以發現它的原因是因爲他們希望將其他參數與其他參數結合起來,作爲內部校驗和驗證的HASH。
啊好吧!以避免問題四捨五入。 – 001
到底!漂浮和雙打對於細微的四捨五入問題而言是非常糟糕的。十進制數據類型也精確到30位左右,所以它適用於計算複合興趣等,在那裏你需要更多的數字。 – Marco