各种四舍五入的模式

package com.sc;

import java.math.RoundingMode;
import java.text.NumberFormat;

public class DoubleTest {
public static void main(String[] args) {
// test1();
test2();
}

public static void test1(){
double num1 = 2.123456789;
System.out.println(Math.log(num1));
System.out.println(Math.E);
System.out.println(Math.PI);
System.out.println(Math.cbrt(num1));
System.out.println(Math.ceil(num1));
System.out.println(Math.hypot(1, 2));
System.out.println(Math.log(num1));
System.out.println(Math.log(num1));
System.out.println(Math.log(num1));
System.out.println(Math.log(num1));
System.out.println(Math.log(num1));
}

public static void test2(){
double value = 1.23456789;
for(int i = 0; i < 6; i++){
System.out.println(round(value, i));
System.out.println(round2(value, i));
System.out.println(round3(value, i));
System.out.println(round4(value, i));
System.out.println(round5(value, i));
System.out.println(round6(value, i));
System.out.println(round7(value, i));
// System.out.println(round8(value, i));
System.out.println(round9(value, i));
System.out.println("***************************************************");
}
}

public static double round(double value, int scale){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setRoundingMode(RoundingMode.HALF_UP);
numberFormat.setMaximumFractionDigits(scale);
numberFormat.setMinimumFractionDigits(scale);
return Double.valueOf(numberFormat.format(value));
}

public static double round2(double value, int scale){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setRoundingMode(RoundingMode.CEILING);
numberFormat.setMaximumFractionDigits(scale);
numberFormat.setMinimumFractionDigits(scale);
return Double.valueOf(numberFormat.format(value));
}

public static double round3(double value, int scale){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setRoundingMode(RoundingMode.valueOf(scale));
numberFormat.setMaximumFractionDigits(scale);
numberFormat.setMinimumFractionDigits(scale);
return Double.valueOf(numberFormat.format(value));
}

public static double round4(double value, int scale){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setRoundingMode(RoundingMode.DOWN);
numberFormat.setMaximumFractionDigits(scale);
numberFormat.setMinimumFractionDigits(scale);
return Double.valueOf(numberFormat.format(value));
}

public static double round5(double value, int scale){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setRoundingMode(RoundingMode.FLOOR);
numberFormat.setMaximumFractionDigits(scale);
numberFormat.setMinimumFractionDigits(scale);
return Double.valueOf(numberFormat.format(value));
}

public static double round6(double value, int scale){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setRoundingMode(RoundingMode.HALF_DOWN);
numberFormat.setMaximumFractionDigits(scale);
numberFormat.setMinimumFractionDigits(scale);
return Double.valueOf(numberFormat.format(value));
}

public static double round7(double value, int scale){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setRoundingMode(RoundingMode.HALF_EVEN);
numberFormat.setMaximumFractionDigits(scale);
numberFormat.setMinimumFractionDigits(scale);
return Double.valueOf(numberFormat.format(value));
}


public static double round8(double value, int scale){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setRoundingMode(RoundingMode.UNNECESSARY);
numberFormat.setMaximumFractionDigits(scale);
numberFormat.setMinimumFractionDigits(scale);
return Double.valueOf(numberFormat.format(value));
}

public static double round9(double value, int scale){
NumberFormat numberFormat = NumberFormat.getInstance();
numberFormat.setRoundingMode(RoundingMode.UP);
numberFormat.setMaximumFractionDigits(scale);
numberFormat.setMinimumFractionDigits(scale);
return Double.valueOf(numberFormat.format(value));
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值