使用java保留两位小数

首先让我们来定义三个变量
	double x = 5.112;		
	double y = 5.118;
	double z = 5.1;
		前两个用于演示四舍五入,
		最后一个用于演示一位小数的情况
方法一:使用String.format方法(四舍五入)
	System.out.println(String.format("%.2f", x));
	System.out.println(String.format("%.2f", y));
	System.out.println(String.format("%.2f", z));

结果如下:
	5.11
	5.12
	5.10
此结果可说明会自动进行四舍五入,且不足两位小数时会自动使用0补齐。
方法二:使用DecimalFormat类(四舍五入)
1.使用 0.00 表示保留两位小数, 不足两位会使用0补齐

		DecimalFormat df = new DecimalFormat("0.00");
		System.out.println(df.format(x));
		System.out.println(df.format(y));
		System.out.println(df.format(z));
  结果如下:
	5.11
	5.12
	5.10
2.使用 #.## 也是表示保留两位小数,但是不足两位就不会补齐啦

		DecimalFormat df2 = new DecimalFormat("#.##");
		System.out.println(df2.format(x));
		System.out.println(df2.format(y));
		System.out.println(df2.format(z));
  结果如下:
  	5.11
	5.12
	5.1
方法三:使用BigDecimal类
较为麻烦,不予使用

可点击链接自行研究

Java中,实现保留两位小数有多种方法,以下为你详细介绍: ### 使用`String.format()`方法 `String`类的静态方法`format()`能够按照指定的格式模板格式化数据。示例代码如下: ```java public class Main { public static void main(String[] args) { double value = 123.456789; String formattedValue = String.format("%.2f", value); System.out.println(formattedValue); } } ``` 在上述代码中,`"%.2f"`是格式字符串,`%f`表示浮点数格式,`.2`指明保留两位小数。该代码运行后输出`123.46` [^1]。 ### 使用`DecimalFormat`类 `DecimalFormat`类可用于格式化十进制数字。示例代码如下: ```java import java.text.DecimalFormat; public class Main { public static void main(String[] args) { double value = 123.456789; DecimalFormat df = new DecimalFormat("#.00"); String formattedValue = df.format(value); System.out.println(formattedValue); } } ``` 这里`"#.00"`是格式化模式,`#`表示任意数字,`.00`表示保留两位小数。运行结果同样为`123.46`。 ### 使用`BigDecimal`类 `BigDecimal`类常用于高精度计算和格式化。示例代码如下: ```java import java.math.BigDecimal; public class Main { public static void main(String[] args) { double value = 123.456789; BigDecimal bd = new BigDecimal(value); bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP); double formattedValue = bd.doubleValue(); System.out.println(formattedValue); } } ``` `setScale(2, BigDecimal.ROUND_HALF_UP)`方法中,`2`表示保留两位小数,`BigDecimal.ROUND_HALF_UP`表示四。代码运行后输出`123.46`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hao难懂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值