本來我5位小數位的float型別資料
計算以后 存盤到3位小數的物件中
導致資料最后2位小數內容丟失 變成0.00
求一種比較好的解決方法
uj5u.com熱心網友回復:
既然只能保存3位小數,那肯定會截斷最后2位小數。可以擴大100倍存入,使用的時候做相反操作還原,但要注意溢位。
uj5u.com熱心網友回復:
其實關鍵就是計算可能太小了 導致計算出來的價格本身5位的時候是0.00001的
最后就變一分錢都不用付了
uj5u.com熱心網友回復:
把那個物件改寫。uj5u.com熱心網友回復:
我現在用的是判斷計算后如果是0.00的就讓他變0.01
我想問問各位有沒有什么更好的辦法
uj5u.com熱心網友回復:
那就“不足一分按一分收取”,即加0.00999,然后Trunc做截斷處理。uj5u.com熱心網友回復:
給這個資料分配更多空間,多存幾位。
uj5u.com熱心網友回復:
一個月工資為3.501萬元,你可以直接寫35010元。一件商品打95折,可理解為0.95
也可為95/100
uj5u.com熱心網友回復:
樓上好多星星uj5u.com熱心網友回復:
建議修改資料型別,如果實在不愿意修改,可以考慮進一法,即判斷0.00后有資料的直接進一成0.01,而不是簡單的看到0.00就=0.01除非你能排除沒有0.00000的情況
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/151892.html
標籤:語言基礎/算法/系統設計
