java中Long精度问题


1、
String price = "19.90"; // 19.99
int totalFee =(int)(new BigDecimal(price).multiply(new BigDecimal("100"))).doubleValue();
int totalFee2 = (int) (Double.parseDouble(price) * 100);
System.out.println(totalFee); //1990
System.out.println(totalFee2); //1989
Double 和bigdecimal处理不一样
2、
Long l = 112630689643634688L;
18位的Long,以Long类型返回给前端,前端解析出来的值,不一致。
解决办法:
在response对象里面的Long类型的字段加个注解:

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM