# BigDecimal round方法

时间:2020-02-23 14:41:14  来源:igfitidea点击:

BigDecimal的round方法用于基于MathContext设置的BigDecimal。

语法

public BigDecimal	round ( MathContext  mc)

返回类型

使用MathContext设置返回BigDecimal

BigDecimal round例子

请看示例

import java.math.*;
package org.arpit.theitroad;
 
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
 
public class BigDecimalRoundMain {
 
	public static void main(String[] args) {
		BigDecimal bigdecimal1 = new BigDecimal("80.23776");
		MathContext mc1=new MathContext(4);
		BigDecimal roundedBigDecimal1=bigdecimal1.round(mc1);
		System.out.println("80.23776 is rounded to: "+roundedBigDecimal1.toString());
		
		//You can specify RoundingMode too with MathContext object
		MathContext mc2=new MathContext(4,RoundingMode.FLOOR);
		BigDecimal roundedBigDecimal2=bigdecimal1.round(mc2);
		System.out.println("80.23776 is rounded to: "+roundedBigDecimal2.toString()+"  with help of RoundingMode");
	}
}

上面的程序将生成低于输出。

80.23776 is rounded to: 80.24
80.23776 is rounded to: 80.23 with help of RoundingMode

BigDecimal SetScale方法

我们可以使用SetScale方法在举例的帮助下使用SetScale方法来舍入大。

package org.arpit.theitroad;
 
import java.math.BigDecimal;
 
public class BigDecimalRoundMain {
 
	public static void main(String[] args) {
		
		BigDecimal b = new BigDecimal("12.4567");
		b=b.setScale(3, BigDecimal.ROUND_HALF_UP);
		System.out.println("BigDecimal Rounding to 3 decimal places: "+b);
	}
}

运行上面的程序时,我们将得到以下输出。

BigDecimal Rounding to 3 decimal places: 12.457