在Java编程中,处理`float`和`double`数据类型时,如何优雅地保留两位小数是个常见问题。以下是5种实现方式,快来收藏吧!👇
第一招:使用`String.format()`魔法 ✨
```java
double num = 3.14159;
String result = String.format("%.2f", num);
System.out.println(result); // 输出:3.14
```
第二招:借助`DecimalFormat`精灵 🧝♀️
```java
import java.text.DecimalFormat;
double num = 2.71828;
DecimalFormat df = new DecimalFormat(".00");
System.out.println(df.format(num)); // 输出:2.72
```
第三招:Math.round()神助攻 🚀
```java
double num = 4.5678;
double multiply = num 100;
long round = Math.round(multiply);
double res = round / 100.0;
System.out.println(res); // 输出:4.57
```
第四招:BigDecimal王者登场 💎
```java
import java.math.BigDecimal;
double num = 1.61803;
BigDecimal bd = new BigDecimal(num).setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println(bd); // 输出:1.62
```
第五招:Apache Commons Lang工具箱 🛠️
引入依赖后:
```java
import org.apache.commons.lang3.StringUtils;
double num = 5.33333;
System.out.println(StringUtils.leftPad(String.valueOf(Math.round(num 100) / 100.0), 4, "0"));
// 输出:5.33
```
掌握这5种方法,从此告别浮点数精度困扰!💪