String 转BigDecimal
时间: 2025-01-24 08:24:26 浏览: 70
### Java 中将字符串转换为 BigDecimal 类型
在Java中,`BigDecimal` 提供了一个构造函数可以直接接受 `String` 参数来创建一个新的 `BigDecimal` 对象。这种方式可以精确表示数值而不会丢失精度[^1]。
```java
// 将字符串转换为 BigDecimal 的例子
public class StringToBigDecimalExample {
public static void main(String[] args) {
String strValue = "123456789.012345";
// 使用字符串参数的构造方法创建 BigDecimal 实例
BigDecimal bigDecimalValue = new BigDecimal(strValue);
System.out.println("Original string: " + strValue);
System.out.println("Converted BigDecimal: " + bigDecimalValue.toString());
}
}
```
当处理可能为空或不合法输入的情况下,建议先验证字符串的有效性再尝试转换:
```java
public static BigDecimal safeParseBigDecimal(String value) throws NumberFormatException {
if (value == null || value.trim().isEmpty()) {
throw new IllegalArgumentException("Input must not be empty");
}
try {
return new BigDecimal(value.trim());
} catch (NumberFormatException e) {
throw new NumberFormatException("Invalid number format: '" + value + "'");
}
}
```
此外,在某些情况下也可以考虑使用静态工厂方法 `valueOf()` 来代替构造器调用,尽管它主要用于从原始数据类型(如双精度浮点数)创建 `BigDecimal` 实例而不是直接用于解析字符串[^3]。
阅读全文
相关推荐
















