java中double保留两位小数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中double保留两位小数相关的知识,希望对你有一定的参考价值。
参考技术A1、保留小数有多种方法,比如四舍五入,或者直接截取。
public static void main(String[] args)
double a = 3.141592653;
// 四舍五入
BigDecimal b = new BigDecimal(a);
System.out.println(b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());
// 直接截取两位小数,不做舍入
DecimalFormat df = new DecimalFormat("#.00");
//格式化以后是String类型
String str = df.format(a);
System.out.println(str);
2、
Java 保留两位小数填坑
下面直接上代码:
DecimalFormat df1 = new DecimalFormat("#.00");
DecimalFormat df2 = new DecimalFormat("######0.00");
double d1 = 1.0;
double d2 = 5;
double d3 = 0.11;
double d4 = 1.11;
System.out.println("df1:"+df1.format(d1)+" pk "+df2.format(d1));
System.out.println("df1:"+df1.format(d2)+" pk "+df2.format(d2));
System.out.println("df1:"+df1.format(d3)+" pk "+df2.format(d3));
System.out.println("df1:"+df1.format(d4)+" pk "+df2.format(d4));
运行结果:
df1:1.00 pk 1.00
df1:5.00 pk 5.00
df1:.11 pk 0.11
df1:1.11 pk 1.11
当double值小于1时df1会将小数点之前的0省略,而df2不会.也算是他们之间的差别吧,坑以填平.
以上是关于java中double保留两位小数的主要内容,如果未能解决你的问题,请参考以下文章