JavaScript 詭異的0.01
最近,生產上專案出現了詭異的0.01 問題
原因:在配置某個物流模板輸入金額的時候,輸入了一個小數位: 19.9 ,在傳入後臺的時候 乘以了100 ,後臺int接收, 存庫變成了1989
再到前端展示的時候, 除以100 就變成了 19.89 , 比原來的19.9少了0.01
經測試,發現,JavaScript 在進行小數位乘以100的時候,數字值會丟失0.0000000000002 ,導致數值由原來的1990 變成了 1989.99999999998 ,後臺int接收,去掉小數位就變成了1989
具體案例如下:
解決辦法: 由原來的*100 改成 *10*10 , 這樣完美解決 。 據說是因為js對浮點數計算的問題
注意:關於金額等數字計算,最好放到後臺程式去計算,儘量不要讓js做計算操作
相關文章
- 詭異的”慢查詢“
- 一個詭異的 Pulsar InterruptedException 異常Exception
- GP詭異的查詢轉換
- 詭異的無線網路卡Down
- C語言之詭異字串C語言字串
- API 路由中介軟體的詭異API路由
- 介面詭異的404問題記錄
- 詭異的HP-UX Load averagesUX
- 很詭異的博弈問題分析方法
- 詭異!React stopPropagation失靈React
- 【PL/SQL開發】-----詭異啊SQL
- 一個執行緒罷工的詭異事件執行緒事件
- 執行緒同步的詭異:求指點執行緒
- 詭異的事情,RAC,public ip通,vip不通
- Linux終端的8個詭異傢伙Linux
- 記一次詭異的故障排查經歷
- 由optimizer_switch所引起的詭異問題
- 一個看似詭異的Oracle連線問題Oracle
- python 詭異問題求助各位大哥Python
- 記一次詭異的Oracle查詢轉換Oracle
- 使用 Arthas 排查 SpringBoot 詭異耗時的 BugSpring Boot
- 一次詭異的MySQL問題處理故事MySql
- 敵或友:波蘭詭異的加密貨幣之戰加密
- IOS下box-shadow的詭異bug的修復iOS
- 詭異!std::bind in std::bind 編譯失敗編譯
- 一例“詭異”報表SQL需求分析SQL
- 深入探究《控制》中那些詭異而迷人的美學元素
- vmware平臺下兩次網路不通的詭異事件事件
- PHP中出現BOM字元\ufeff,PHP去掉詭異的BOM \ufeffPHP字元
- 【kamus】Oracle ERP產品環境克隆的詭異遭遇Oracle
- 詭異的JS非同步單執行緒是如何工作的JS非同步執行緒
- 8 個出沒在 Linux 終端的詭異傢伙Linux
- 記錄一次詭異的拼接sql不生效問題SQL
- iOS 【如何解決 UIView 在佈局時的"詭異"動畫效果】iOSUIView動畫
- 串列埠使用Pipeline時詭異的ReadOnlySequence問題串列埠
- MySQL update一個詭異現象的分析--個人未分析出MySql
- 記錄 openssl 證書驗證失敗的詭異問題
- 量子計算機:詭異量子理論的不斷印證計算機