龙空技术网

100个Java工具类之64:BigDecimalUtil计算工具类

一名小小程序员 1026

前言:

现时你们对“java怎么把科学计数法转换成数字”都比较关切,你们都想要分析一些“java怎么把科学计数法转换成数字”的相关知识。那么小编在网摘上汇集了一些有关“java怎么把科学计数法转换成数字””的相关资讯,希望姐妹们能喜欢,我们快快来学习一下吧!

在java中,BigDecimal类用于高精度数值计算。

相对于double,它的优点是:

①高精度:可表示任意精度,而double只能处理16位数

②精确计算:避免精度缺失,避免数值溢出或下溢,提高代码的健壮性

一、加减乘除

BigDecimal b1 = new BigDecimal("1.11");BigDecimal b2 = new BigDecimal("2.22");//加BigDecimal b3 = b1.add(b2);输出:3.33//减BigDecimal b4 = b1.subtract(b2);输出:-1.11//乘BigDecimal b5 = b1.multiply(b2);输出:2.4642//除BigDecimal b6 = b1.divide(b2);输出:0.5
二、数值转换
BigDecimal b = new BigDecimal("123.456");double doubleValue = b.doubleValue();输出:123.456float floatValue = b.floatValue();输出:123.456long longValue = b.longValue();输出:123int intValue = b.intValue();输出:123String stringValue = b.toString();输出:123.456
三、精度运算
BigDecimal b = new BigDecimal("123.456789");// 取到小数点后一位,四舍五入BigDecimal result = b.setScale(2, RoundingMode.HALF_UP);输出:123.46// 取到小数点后两位,向下取整BigDecimal result2 = b.setScale(2, RoundingMode.DOWN);输出:123.45// 取到小数点后三位,向上取整BigDecimal result3 = b.setScale(2, RoundingMode.UP);输出:123.46// 只保留整数位int result4 = b.intValue();输出:123// 只保留小数点后面的数字BigDecimal result5 = b.subtract(BigDecimal.valueOf(result4));输出:0.456789// 科学计数法转换BigDecimal b2 = new BigDecimal("3.14159265354E11");String result6 = b2.toPlainString();输出:314159265354

感谢你的阅读,欢迎关注和收藏~

标签: #java怎么把科学计数法转换成数字