小细节:Java中split()中的特殊分隔符 小数点

时间:2022-01-14 16:28:09

这两天做项目过程中由于数据表字段设计的太恶心了,导致自己填坑

关于微信支付和支付宝的支付有一个不同点:就是金额的处理,支付宝金额的单位是0.01元,但是微信支付中1表示0.01元,当时设计价格的时候使用float

自己在测试的过程中当涉及到微信支付时不应该*100或者*100f,因为会造成精度损失。

解决方法:使用BigDecimal 或者通过 转String进行小数点的替换,但是程序运行始终报空。

最后发现原来小数点需要进行转义;

split函数的拆分功能,在使用小数点作为分隔符的时候发现竟然无法拆分,查资料以后发现原来这是一个特殊字符需要在前面加俩反斜杠,spilit("\\."),为了避免以后再次出现类似错误,我有上网搜索了下,同时做了一个总结:

符号表达式

. \\.

| \\|

\\\\\   注意:这个比较特殊,在字符串中表示\时应转义(\\)

"\"

'\'

代码如下:

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