小細節:Java中split()中的特殊分隔符 小數點


     這兩天做項目過程中由於數據表字段設計的太惡心了,導致自己填坑

關於微信支付和支付寶的支付有一個不同點:就是金額的處理,支付寶金額的單位是0.01元,但是微信支付中1表示0.01元,當時設計價格的時候使用float

    自己在測試的過程中當涉及到微信支付時不應該*100或者*100f,因為會造成精度損失。

解決方法:使用BigDecimal 或者通過 轉String進行小數點的替換,但是程序運行始終報空。

最后發現原來小數點需要進行轉義;

split函數的拆分功能,在使用小數點作為分隔符的時候發現竟然無法拆分,查資料以后發現原來這是一個特殊字符需要在前面加倆反斜杠,spilit("\\."),為了避免以后再次出現類似錯誤,我有上網搜索了下,同時做了一個總結:

符號表達式

. \\.

| \\|

\\\\\   注意:這個比較特殊,在字符串中表示\時應轉義(\\)

"\"

'\'

 

代碼如下:

String total_fee=String.valueOf(actualPay).replaceAll("\\.","");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM