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

来源:互联网 发布:javac 多个java文件 编辑:程序博客网 时间:2024/06/18 15:41
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的父类是NumberFormatDecimalFormat 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


原创粉丝点击