Java | 四舍五入保留两位小数,如何保留小数末尾的0(详解)

四舍五入

在进行比赛的过程中,我们常常会遇到 让我们计算double值,并且将最后的结果保留两位小数输出,以下是关于这个问题的解决方法

方法一

使用String中的format方法

//定义了三个小数第三位为0,4,5的数,分别对应a,b,c
        double a = 2.100;
        double b = 2.104;
        double c = 2.105;
        //方法一:使用String类里面的format方法
        String fig1 = String.format("%.2f",a);
        String fig2 = String.format("%.2f",b);
        String fig3 = String.format("%.2f",c);
        System.out.println(fig1);//2.10
        System.out.println(fig2);//2.10
        System.out.println(fig3);//2.11
方法二

导入DecimalFormat类: 在你的Java程序中,首先需要导入DecimalFormat类,可以这样做:

import java.text.DecimalFormat;

创建DecimalFormat对象: 接下来,你需要创建一个DecimalFormat对象,用于定义数字的格式。你可以在创建对象时指定格式模式。例如,如果你想要保留两位小数并使用千位分隔符,可以这样创建对象:

DecimalFormat df = new DecimalFormat("#,##0.00");

这里的#表示可选的数字位,,表示千位分隔符,0表示必须有数字位,而.00表示保留两位小数。

格式化数字: 一旦你创建了DecimalFormat对象,你可以使用它的==format方法==将数字格式化为字符串。

double number = 12345.6789;
String formattedNumber = df.format(number);
System.out.println(formattedNumber);

但是存在一个问题

单你小数点第二位为零时,格式化会自动把零去除,如果你需要结果保存零,就必须使decimalFormat.setMinimumFractionDigits(2),

decimalFormat.setMinimumFractionDigits(2) 是用于设置 DecimalFormat 对象的最小小数位数的方法。这意味着,如果你使用这个方法将最小小数位数设置为2,那么即使一个数字的小数部分是零,它也会被强制显示两位小数。这对于确保数字的输出具有一致的格式非常有用,尤其是当你需要对齐数字时,以便小数点对齐

DecimalFormat df = new DecimalFormat("0.00");
df.setMinimumFractionDigits(2);//设置最小位数,以防小数点末尾为零被省略
//调用df中的format方法实现数据格式化
String format1 = df.format(a);//2.10
String format2 = df.format(a);//2.10
String format3 = df.format(a);//2.11

本次知识点的github仓库:
https://github.com/Steven-267/competiton-NCCCU/blob/master/untitled/src/competiton/Test/halfAdjust.java

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值