java保留两位小数,小数点后面是零则保留整数,不四舍五入
时间: 2023-07-01 16:20:25 浏览: 717
java保留两位小数问题
5星 · 资源好评率100%
要保留两位小数,小数点后面是零则保留整数,不进行四舍五入,可以使用 DecimalFormat 类的 setRoundingMode() 方法来设置舍入模式为 RoundingMode.DOWN,然后使用 format() 方法将数字格式化为字符串,最后使用 replace() 方法将小数点后面的零去掉。
示例代码如下:
```java
import java.math.RoundingMode;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
double num = 3.14000;
DecimalFormat df = new DecimalFormat("#.##");
df.setRoundingMode(RoundingMode.DOWN);
String result = df.format(num).replaceAll("0+?$", "");
result = result.replaceAll("[.]$", "");
System.out.println(result);
}
}
```
输出结果为:
```
3.14
```
如果输入的数字是整数,则输出整数部分:
```java
import java.math.RoundingMode;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
double num = 3.0;
DecimalFormat df = new DecimalFormat("#.##");
df.setRoundingMode(RoundingMode.DOWN);
String result = df.format(num).replaceAll("0+?$", "");
result = result.replaceAll("[.]$", "");
System.out.println(result);
}
}
```
输出结果为:
```
3
```
阅读全文