亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

怎么保證計算過后小數存入數據庫之后精度無損?

怎么保證計算過后小數存入數據庫之后精度無損?

明月笑刀無情 2019-03-19 17:19:48
無限循環的小數存入數據庫的時候有精度丟失,獲取出來之后與之前的數據對不上,比如說我要保存3條1/3的無限小數數據,然后獲取出來的時候能保證這3條數據的相加結果能等于1,怎么有效解決.?
查看完整描述

3 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

用長文本類型來保存
mysql中的 LONGTEXT 最大長度為4,294,967,295個字符 應該夠用了吧
其他數據庫也有類似對應的長文本類型

update 
分數你直接用字符串來存就好了
比如1/3,然后取出運算還原結果


查看完整回答
反對 回復 2019-04-16
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

可以使用字符串來保存


查看完整回答
反對 回復 2019-04-16
?
萬千封印

TA貢獻1891條經驗 獲得超3個贊

浮點數加減的問題你是無法避免的,你只能保證你寫入的數值和讀出的數值上的一致;

  • 數據庫字段才用二進制格式,直接寫入原始float值的二進制字節數值;

  • 讀出后采用該二進制數值恢復到float類型

浮點數加減部分無解,你只能提高float的精度,采用double等類型;


查看完整回答
反對 回復 2019-04-16
  • 3 回答
  • 0 關注
  • 859 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號