java中BigDecimal进行加减乘除的基本用法_java

前言

众所周知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("===================");
 }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, bigdecimal
, 加减
bigdecimal加减乘除
bigdecimal加减乘除、bigdecimal的加减乘除、c decimal 加减乘除、bigdecimal乘除、bigdecimal加减,以便于您获取更多的相关知识。

时间: 2024-09-20 01:11:14

java中BigDecimal进行加减乘除的基本用法_java的相关文章

详解Java中的时区类TimeZone的用法_java

一.TimeZone 简介TimeZone 表示时区偏移量,也可以计算夏令时. 在操作 Date, Calendar等表示日期/时间的对象时,经常会用到TimeZone:因为不同的时区,时间不同. 下面说说TimeZone对象的 2种常用创建方式.1.获取默认的TimeZone对象使用方法: TimeZone tz = TimeZone.getDefault() 2.使用 getTimeZone(String id) 方法获取TimeZone对象使用方法: // 获取 "GMT+08:00&qu

Java中BigDecimal类的简单用法_java

本文实例讲述了Java中BigDecimal类的简单用法,是Java程序设计中非常实用的技巧,分享给大家供大家参考.具体用法分析如下: 一般来说,一提到Java里面的商业计算,我们都知道不能用float和double,因为他们无法进行精确计算.但是Java的设计者给编程人员提供了一个很有用的类BigDecimal,他可以完善float和double类无法进行精确计算的缺憾.BigDecimal类位于java.maths类包下.首先我们来看下如何构造一个BigDecimal对象.它的构造函数很多,

java中BigDecimal的应用

  我们来看一看java中BigDecimal的用法   public class MathUtil { // 加法 public static Double add(double a,double b,int scal) throws Exception{     BigDecimal add1 = conversionToBigDecimal(a);     BigDecimal add2 = conversionToBigDecimal(b);     Double result = ad

对象-java中的引用和new的用法

问题描述 java中的引用和new的用法 初学java,有些问题很幼稚,还望各位大神能多扶持 首先,说说引用的问题, 我定义了一个A类.其中初始化属性name为A, 接下来: A a = new A://创建一个对象 A a1 = a://这里好像是一个引用,有点不懂,我把他理解为指针, a = new A; // 这是第二个问题,在创建对象的时候,一般不都是类 对象 = new 类吗?为什么这里可以直接new呢,而且看教程上是说又新分配了一个空间,我想问的是只要是new,都是分配存储空间吗,及

Java中StringUtils工具类的一些用法实例

  这篇文章主要介绍了Java中StringUtils工具类的一些用法实例,本文着重讲解了isEmpty和isBlank方法的使用,另外也讲解了trim.strip等方法的使用实例,需要的朋友可以参考下 StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException ,而是做了相应处理,例如,如果

java-求解Java中import和package的各种用法

问题描述 求解Java中import和package的各种用法 不同目录下的Java文件,每个文件我都给建立了一个包,在其中一个Java文件中访问另一个的时候,import了另一个包,并且也修改了环境变量,把另一个包所在的目录加了进去,结果编译还是错误,说是找不到那个包,包这块还是挺混乱的,哪位给讲讲,请不吝赐教,能不能很系统全面的给说说 解决方案 java中import,package的用法JAVA 中import和 package的用法java中import,package的用法 解决方案二

浅谈java中BigDecimal的equals与compareTo的区别_java

这两天在处理支付金额校验的时候出现了点问题,有个金额比较我用了BigDecimal的equals方法来比较两个金额是否相等,结果导致金额比较出现错误(比如3.0与3.00的比较等). [注:以下所讲都是以sun jdk 1.4.2版本为例,其他版本实现未必一致,请忽略] 首先看一下BigDecimal的equals方法: public boolean equals(Object x){ if (!(x instanceof BigDecimal)) return false; BigDecima

java中BigDecimal的操作方法_java

本文实例讲述了java中BigDecimal的操作方法.分享给大家供大家参考.具体分析如下: 由于double,float的精度不够,因此在进行商业计算的时候要使用的BigDecimal.BigDecimal对象创建如下: 复制代码 代码如下: BigDecimal b = new BigDecimal("12.000001"); System.out.println(b); 输出结果为:12.000001: BigDecimal在创建的时候可以传入String和double,但是最好

JAVA中的break[标签]continue[标签]用法

原文:JAVA中的break[标签]continue[标签]用法 注意:JAVA中的标签必须放在循环之前,且中间不能有其他语句.例如:tag:for或while或do--while;   1.使用break退出一层循环(与C/C++中的break用法一样)   1 public static void main(String args[]) 2 { 3 int i=0; 4 while(i<100) 5 { 6 if(i==10) break; 7 System.out.println("