您的位置:首页 > 编程语言 > Java开发

java double数据保留两位小数的4中方法

2017-08-12 01:54 459 查看
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

public class KeepTwoFraction {//保留两位小数

public static void main(String[] args) {
// double数据保留两位小数

// 第一种方法:使用 String.format(String format, Object... args)
System.out.println("StringFormat:" + String.format("%.2f", 0.985));

// 第二种方法:DecimalFormat的父类是NumberFormat
DecimalFormat df = new DecimalFormat("#.00");
System.out.println("DecimalFormat:" + df.format(0.985));
// 第三种方法:
BigDecimal bg = new BigDecimal(0.985).setScale(2, BigDecimal.ROUND_HALF_UP);
double doubleValue = bg.doubleValue();
System.out.println("BigDecimalRoundHalfUp:" + doubleValue);
// 第四种方法:
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println("NumberFormat:"+nf.format(0.985));

}

}

结果是:说明除了第一种方法能做到真正的四舍五入外,其它三种方法要>5才可以进位

StringFormat:0.99

DecimalFormat:.98

BigDecimalRoundHalfUp:0.98

NumberFormat:0.98
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息