前言
本文来记录下 Java 中保留小数位数的实现。
实现
场景说明
在一些场景下的要求是这样的:指定小数位如不为零则保留,如为零则不显示。例如 32.2355
则显示 32.24
,32.0045
则显示 32
。
具体实现
针对如上场景,我们可以使用 DecimalFormat
类来格式化数字,将其保留指定位数的小数位。
我们可以创建一个测试类:
@GetMapping("/t13")
public String test13(@RequestParam String value){
// # 表示数字占位符,.## 表示保留至少一位小数,最多两位小数
DecimalFormat df = new DecimalFormat("#.##");
String format = df.format(Double.valueOf(value));
log.info(format);
return format;
}
注:
-
#
占位符表示如果对应位有数字且不为 0 则显示,否则不显示。如果要求小数位必须显示两位,则可以使用0
占位符,例如#.00
。 -
DecimalFormat
类可以处理数字类型的数据,包括byte
、short
、int
、long
、float
、double
和BigDecimal
等类型及其包装类。它可以将数字格式化为字符串,或者将字符串解析为数字。 -
除了数字占位符外,
DecimalFormat
还支持其他格式化选项,例如货币符号、千位分隔符、指数符号等
总结
本文记录了 Java 中保留小数位数的实现。