java之BigDecimal类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java之BigDecimal类相关的知识,希望对你有一定的参考价值。

1.BigDecimal类概述及其构造方法

  由于在运算的时候,float类型和double类型很容易丢失进度,所以,为了能够精确的表示、计算浮点数,java提供了BigDecimal类

  BigDecimal类是不可变得、任意精度的有符号是进制数


2.构造方法及成员方法

package com;

import java.math.BigDecimal;

/**
 * BigDecimal类
 *	由于在运算的时候,float类型和double类型很容易丢失精度。所以,为了能精确的表示、计算浮点数。
 *	java提供了BigDecimal类
 *	BigDecimal类是不可变的、任意精度的有符号十进制数。
 * 构造方法
 * 	public BigDecimal(String val)
 * 成员方法
 * 	public BigDecimal add(BigDecimal value)
 * 	public BigDecimal subtract(BigDecimal value)
 * 	public BigDecimal multiply(BigDecimal value)
 * 	public BigDecimal divide(BigDecimal value)
 * 	public BigDecimal divide(BigDecimal value,int scale,int roundingMode)
 */
public class BidDecimalDemo {
	public static void main(String[] args) {
		BigDecimal b1 = new BigDecimal("0.09");
		BigDecimal b2 = new BigDecimal("0.01");
		
		//public BigDecimal add(BigDecimal value)
		System.out.println(b1.add(b2));//0.10
		
		//public BigDecimal subtract(BigDecimal value)
		System.out.println(b1.subtract(b2));//0.08
		
		//public BigDecimal multiply(BigDecimal value)
		System.out.println(b1.multiply(b2));//0.0009
		
		//public BigDecimal divide(BigDecimal value)
		System.out.println(b1.divide(b2));//9
		
		//public BigDecimal divide(BigDecimal value,int scale,int roundingMode)
		System.out.println(b1.divide(b2, 2,BigDecimal.ROUND_HALF_UP));//9.00
	}
}


本文出自 “11831428” 博客,请务必保留此出处http://11841428.blog.51cto.com/11831428/1861233

以上是关于java之BigDecimal类的主要内容,如果未能解决你的问题,请参考以下文章

java之BigDecimal类

Java 避免精度丢失之BigDecimal 运算

Java之BigDecimal 使用总结

Java常用数据类型转换(BigDecimal包装类日期等)

java,BigDecimal使用

java--BigDecimal类