Java常用类:BigDecimal类
2021/4/16 20:25:48
本文主要是介绍Java常用类:BigDecimal类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java常用类:BigDecimal类
BigDecimal
-
位于 java.math 包中
-
作用:精确计算浮点数
-
创建方式:例如
BigDecimal bd = new BigDecimal("1.0");
-
常用方法:
add();
加subtract();
减multiply();
乘divide();
除
-
示例:
import java.math.BigDecimal; public class Demo01 { public static void main(String[] args) { //未使用BigDecimal double d1 = 1.0; double d2 = 0.9; System.out.println(d1-d2); double result = (1.4-0.5)/0.9; System.out.println(result); System.out.println("----------"); //使用BigDecimal BigDecimal bd1 = new BigDecimal("1.0");//一定要用字符串:精确 BigDecimal bd2 = new BigDecimal("0.9"); //减法 BigDecimal r1 = bd1.subtract(bd2);//subtract();是BigDecimal的减法 System.out.println("bd1-bd2="+r1); //加法 BigDecimal r2 = bd1.add(bd2);//add();是BigDecimal的加法 System.out.println("bd1+bd2="+r2); //乘法 BigDecimal r3 = bd1.multiply(bd2);//multiply();是BigDecimal的乘法 System.out.println("bd1*bd2="+r3); //除法 BigDecimal r4 = bd2.divide(bd1);//divide();是BigDecimal的除法 System.out.println("bd2/bd1="+r4); //BigDecimal的 (1.4-0.5)/0.9 BigDecimal result1 = new BigDecimal("1.4") .subtract(new BigDecimal("0.5")) .divide(new BigDecimal("0.9")); System.out.println("(1.4-0.5)/0.9="+result1); } }
输出
0.09999999999999998 0.9999999999999999 ---------- bd1-bd2=0.1 bd1+bd2=1.9 bd1*bd2=0.90 bd2/bd1=0.9 (1.4-0.5)/0.9=1
除法拓展:
进行除法运算时,如果不能准确的计算出结果时需要指定保留的位数和取舍方式。
-
除法
divide(BigDecimal bd,int scal,RoundingMode mode);
-
参数 scal :指定精确到小数点后几位
-
参数 mode :
- 指定小数部分的取舍模式,通常采用四舍五入的模式
- 取值为
RoundingMode.HALF_UP
-
示例:
import java.math.BigDecimal; import java.math.RoundingMode; public class Demo02 { public static void main(String[] args) { BigDecimal result = new BigDecimal("10") .divide(new BigDecimal("3"), 2, RoundingMode.HALF_UP); System.out.println("10/3="+result+"(四舍五入,保留两位小数)"); } }
输出
10/3=3.33(四舍五入,保留两位小数)
这篇关于Java常用类:BigDecimal类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25JAVA副业资料:新手入门及初级提升指南
- 2024-11-25Java副业资料:入门到实践的全面指南
- 2024-11-25Springboot应用的多环境打包项目实战
- 2024-11-25SpringBoot应用的生产发布项目实战入门教程
- 2024-11-25Viite多环境配置项目实战:新手入门教程
- 2024-11-25Vite多环境配置项目实战入门教程