java保留两位小数4种方法;BigDecimal的ROUND_HALF_UP与ROUND_HALF_DOWN
方法一:String的format方法(推荐)double f = 111231.5585;System.out.println(String.format("%.2f", f));方法二:DecimalFormat的format方法double f = 111231.5585;DecimalFormat df = new DecimalFormat("#.00");System.out.prin
文章共1,476字 · 阅读需要大约5分钟
一键AI生成摘要,助你高效阅读
问答
·
方法一:String的format方法(推荐)
double f = 111231.5585;
System.out.println(String.format("%.2f", f));
方法二:DecimalFormat的format方法
两者在位数超出的时候都是四舍五入
double f = 111231.5585;
//保留2位,不足补零
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
//保留2位,不足保留原位数,不补零
DecimalFormat df = new DecimalFormat("#.##");
System.out.println(df.format(f));
方法三:BigDecimal的setScale方法
ROUND_HALF_UP:ROUND_HALF_UP是我们常用的四舍五入,即舍入部分大于等于0.5时进位,否则丢弃舍入部分
ROUND_HALF_DOWN:通俗地说是五舍六入,即舍入部分大于0.5时进位,否则丢弃舍入部分
demo
111231.5585
保留3位小数的时候,舍入部分为0.5
,因为前面的.558
舍去之后就剩下这个0.5
了
当采用ROUND_HALF_UP时进1,当采用ROUND_HALF_DOWN时直接舍去
BigDecimal bg = new BigDecimal(“111231.5585;”);
//保留2位小数,逢5向上进位
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
//保留2位小数,逢5向下进位
//BigDecimal setScale = bg.setScale(2,BigDecimal.ROUND_HALF_DOWN);
System.out.println(f1);
方法四:NumberFormat的setMaximumFractionDigits方法
double f = 111231.5585;
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class format {
double f = 111231.5585;
public void m1() {
BigDecimal bg = new BigDecimal(f);
double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
* DecimalFormat转换最简便
*/
public void m2() {
DecimalFormat df = new DecimalFormat("#.00");
System.out.println(df.format(f));
}
/**
* String.format打印最简便
*/
public void m3() {
System.out.println(String.format("%.2f", f));
}
public void m4() {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(f));
}
public static void main(String[] args) {
format f = new format();
f.m1();
f.m2();
f.m3();
f.m4();
}
}
更多推荐
已为社区贡献6条内容
所有评论(0)