項目裏很多使用涉及金額錢的輸入框,oralce數據庫一般設置成number(18,2)就能滿足大多數項目存儲需求
但是後臺使用Float類型接收的時候,會出現精度錯誤,例如前臺錄入的是29999999,後臺用Float接收後,自動+1,轉成30000000,而且Float自動轉換使用了科學計數法,導致精度錯誤了,正常要求個位數輸入多少就傳遞多少纔對,小數點一般四捨五入沒問題。
解決辦法,後臺接收的時候使用BigDecimal類型接收,保存的時候直接保存就能正常入庫,精度不丟失,涉及到計算累加時候也使用BigDecimal.add方法
用Float類型接收前臺傳遞String類型精度異常
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
設計模式之事務處理
iteye_5568
2020-07-07 11:21:36
Java 細節彙總(4)
谈谈1974
2020-07-05 18:44:23
Java FutureTask 源碼解析
haibing_blog
2020-07-05 10:17:39
Arrays實用功能(上)
haibing_blog
2020-07-05 10:17:34
Java 獲取和替換字符串中 {} 包含的內容
李晋江
2020-07-05 04:28:14
使用 IDEA 編寫第一個 Java 程序
李晋江
2020-07-05 04:28:14
使用JDK API實現動態代理和源碼分析
龙龙马
2020-07-04 20:42:02
面試官問,爲啥Mybatis的接口不需要實現類
龙龙马
2020-07-04 20:42:02
面試官問,Mybatis插件增強邏輯的順序怎麼控制
龙龙马
2020-07-04 20:42:02
Mybatis 插件和動態代理
龙龙马
2020-07-04 20:42:02
第三章 Servlet 生命週期
lee_ccr
2020-07-04 19:21:33
第一章 Servlet 簡介
lee_ccr
2020-07-04 19:21:33
第二章 Servlet 環境設置
lee_ccr
2020-07-04 19:21:33
Java編程拾遺『JVM垃圾回收』
卓立0
2020-07-04 14:10:57