如何避免在BigDecimal转long时精度丢失的问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1600个文字,预计阅读时间需要7分钟。
java我简单改写一下,不超过100字:
直接看代码吧!javapublic static void main(String[] args) { BigDecimal asdBigDecimal=new BigDecimal(56.33347); long sad=asdBigDecimal.longValue(); double asda=asdBigDecimal.doubleValue(); System.out.println();}
我就废话不多说了,大家还是直接看代码吧~
public static void main(String[] args) { BigDecimal asdBigDecimal = new BigDecimal(56.33347); long sad = asdBigDecimal.longValue(); double asda = asdBigDecimal.doubleValue(); System.out.println(sad); System.out.println(asda); }
运行结果:
56
56.33347
而且BigDecimal.longValue()还会自动四舍五入,不想舍去小数点的朋友要用doubleValue()
补充知识:BigDecimal与int、long之间的相互转换及基本数据类型知识掌握
(Java提供了两个用于高精度计算的类:BigInteger和BigDecimal。
本文共计1600个文字,预计阅读时间需要7分钟。
java我简单改写一下,不超过100字:
直接看代码吧!javapublic static void main(String[] args) { BigDecimal asdBigDecimal=new BigDecimal(56.33347); long sad=asdBigDecimal.longValue(); double asda=asdBigDecimal.doubleValue(); System.out.println();}
我就废话不多说了,大家还是直接看代码吧~
public static void main(String[] args) { BigDecimal asdBigDecimal = new BigDecimal(56.33347); long sad = asdBigDecimal.longValue(); double asda = asdBigDecimal.doubleValue(); System.out.println(sad); System.out.println(asda); }
运行结果:
56
56.33347
而且BigDecimal.longValue()还会自动四舍五入,不想舍去小数点的朋友要用doubleValue()
补充知识:BigDecimal与int、long之间的相互转换及基本数据类型知识掌握
(Java提供了两个用于高精度计算的类:BigInteger和BigDecimal。

