java中double保留两位小数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中double保留两位小数相关的知识,希望对你有一定的参考价值。

参考技术A

1、保留小数有多种方法,比如四舍五入,或者直接截取。
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保留两位小数的主要内容,如果未能解决你的问题,请参考以下文章

java保留两位小数

java、怎样简便的保留小数点后两位。

使double保留两位小数的多方法 java保留两位小数

java,中双精度double控制保留两位小数,js控制两位小数

话说double 是保留多少位小数.

java中保留两位小数并要求四舍五入的方法