java中BigDecimal进行加减乘除的基本用法
程序员文章站
2024-03-09 12:18:05
前言
众所周知java在java.math包中提供的api类bigdecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位...
前言
众所周知java在java.math包中提供的api类bigdecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.bigdecimal
。
bigdecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。
方法中的参数也必须是bigdecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
示例代码如下
import java.math.bigdecimal; public class t { public static void main(string[] args) { string a = "9999.9999"; int b = 9999; double c = 9999.9999; char d = 99; system.out.println("==================="); // 不同类型转为bigdecimal bigdecimal ma = new bigdecimal(a); bigdecimal mb = new bigdecimal(b); bigdecimal mc = new bigdecimal(c); bigdecimal md = new bigdecimal(d); system.out.println("ma:"+ma.tostring()); system.out.println("mb:"+mb.tostring()); system.out.println("mc:"+mc.tostring()); system.out.println("md:"+md.tostring()); system.out.println("==================="); // 加 bigdecimal add = ma.add(mb); system.out.println("加法:"+add); // 减 bigdecimal sub = ma.subtract(mb); system.out.println("减法:"+sub); // 乘 bigdecimal mul = mb.multiply(md); system.out.println("乘法:"+mul); // 除 bigdecimal div = mb.divide(md); system.out.println("除法:"+div); system.out.println("==================="); mc = mc.setscale(2, bigdecimal.round_half_up); system.out.println("四舍五入:"+mc); system.out.println("==================="); mc = mc.negate(); system.out.println("负数:"+mc); system.out.println("==================="); } }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。