BigDecimal的使用
程序员文章站
2022-07-15 12:39:24
...
BigDecimal的使用
每天点滴努力,成就编程路
很多人在项目开发过程中会遇到涉及金额的场景,对于新手来说,可能会踩坑。笔者在2020年3月份开发的项目语言是PHP,众所周知,php是弱类型语言,所以在开发过程中并不需要去定义变量类型。故看到金额,直接强转double,造成项目的金额时不时一大串数字。这种情况在Java语言中是这样处理的。
用什么来计算金额
package com.sise.demo2.demo;
import java.math.BigDecimal;
/**
* author zxq
* date 2020/7/29 21:34
*/
public class BigDecimalTest {
public static void main(String args[]){
System.out.println("一些错误示例");
System.out.println(0.03+0.02);
System.out.println("-----number1--------");
double number1 = 1.23;
double number1_1 = 3.66;
double result = number1+number1_1;
System.out.println("result:"+result);
BigDecimal bigDouble = new BigDecimal(number1);
System.out.println("bigDouble:"+bigDouble);
System.out.println("一些错误示例 end");
System.out.println("------方式一-------");
double number2 = 1.12;
BigDecimal big1 = new BigDecimal(Double.toString(number2));
System.out.println("BigDecimal:"+big1);
System.out.println("------方式二-------");
double number3 = 1.12;
BigDecimal big2 = BigDecimal.valueOf(number3);
System.out.println("BigDecimal:"+big2);
System.out.println("------加法-------");
double a1 = 2.21;
double b1 = 3.66;
BigDecimal bigDecimal1 = BigDecimal.valueOf(a1);
BigDecimal bigDecimal2 = BigDecimal.valueOf(b1);
BigDecimal result1 = bigDecimal1.add(bigDecimal2);
System.out.println("result1:"+result1);
System.out.println("------减法-------");
double a2 = 2.21;
double b2 = 3.66;
BigDecimal bigDecimal3 = BigDecimal.valueOf(a2);
BigDecimal bigDecimal4 = BigDecimal.valueOf(b2);
BigDecimal result2 = bigDecimal4.subtract(bigDecimal3);
System.out.println("result2:"+result2);
System.out.println("------乘法-------");
double a3 = 2.21;
double b3 = 3.66;
BigDecimal bigDecimal5 = BigDecimal.valueOf(a3);
BigDecimal bigDecimal6 = BigDecimal.valueOf(b3);
BigDecimal result3 = bigDecimal5.multiply(bigDecimal6);
System.out.println("result3:"+result3);
System.out.println("------除法-------");
double a4 = 4.32;
double b4 = 3.66;
BigDecimal bigDecimal7 = BigDecimal.valueOf(a4);
BigDecimal bigDecimal8 = BigDecimal.valueOf(b4);
BigDecimal result4 = bigDecimal7.add(bigDecimal8);
System.out.println("result4:"+result4);
}
}
运行截图
个人理解,如有错误,请联系我,非常感谢!
上一篇: JAVA BigDecimal 用法总结
下一篇: BigDecimal的使用