使用
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
转换功能
(以下方法如果转换失败都会返回0,或返回自定义值, toScaledBigDecimal除外)
1. toInt()
将字符串转换为int类型,失败返回0或自定义值。
System.out.println(NumberUtils.toInt("123")); // 123
// 转换失败默认返回0
System.out.println(NumberUtils.toInt("a123")); // 0
// 定义默认值
System.out.println(NumberUtils.toInt("a123", 100)); // 100
2. toLong()
将字符串转换为long类型,失败返回0或自定义值。
System.out.println(NumberUtils.toLong("123")); // 123
System.out.println(NumberUtils.toLong("a123")); // 0
3. toFloat()
将字符串转换为单精度浮点类型。
System.out.println(NumberUtils.toFloat("123")); // 123
System.out.println(NumberUtils.toFloat("a123", 0.1f)); // 0.1
4. toDouble()
将字符串转换为双精度浮点类型。
System.out.println(NumberUtils.toDouble("123")); // 123
System.out.println(NumberUtils.toDouble("a123", 0.12)); // 0.12
5. toFloat()
将字符串转换为浮点类型
System.out.println(NumberUtils.toFloat("20.3f")); // 20.3
System.out.println(NumberUtils.toFloat("a12.2", 100f)); // 100.0
6. toScaledBigDecimal()
将字符串转换为BigDecimal类型,它默认会保留两位小数,默认的舍入模式为
NumberUtils.toScaledBigDecimal("20.3"); // 20.30
NumberUtils.toScaledBigDecimal("12.2", 3, RoundingMode.HALF_UP); // 12.200