BigDecimal
2023-12-29 18:45:30
BigDecimal?
- 用于解决浮点型运算时,出现结果失真的问题。
BigDecimal的常见构造器、常用方法
构造器 | 说明 |
---|---|
public static BigDecimal valueOf(double val) | 转换一个double成BigDecimal |
public static BigDecimal (String val) | 把String转成BigDecimal |
public static BigDecimal add(BigDecimal b) | 加法 |
public static BigDecimal subtract(BigDecimal b) | 减法 |
public static BigDecimal multiply(BigDecimal b) | 乘法 |
public static BigDecimal divide(BigDecimal b) | 除法 |
public static BigDecimal divide(另一个BigDecimal对象,精确几位,舍入模式) | 除法,可以控制精确到小数几位 |
public double doubleValue() | 将BigDecimal转成double |
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Test {
public static void main(String[] args){
// 目标:掌握BigDecimal的使用,解决小数运算失真的问题
double a = 0.1;
double b = 0.3;
// 将小数转换成一个字符串再得到BigDecimal对象来使用
BigDecimal a1 = BigDecimal.valueOf(a);
BigDecimal b1 = BigDecimal.valueOf(b);
BigDecimal c1 = a1.add(b1); //加法
BigDecimal c2 = a1.subtract(b1); //减法
BigDecimal c3 = a1.multiply(b1); //乘法
System.out.println(c1);
System.out.println(c2);
System.out.println(c3);
BigDecimal c4 = a1.divide(b1,2, RoundingMode.HALF_UP); //除法
// 将BigDecimal转成double
double rs = c4.doubleValue();
System.out.println(rs);
}
}
文章来源:https://blog.csdn.net/SU_mu147/article/details/135295732
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!