【发布时间】:2012-12-30 01:31:03
【问题描述】:
java中是否有任何最终的解析函数可以分析字符串中给出的数字的类型并在类Number或类似的对象中返回其值。
我想将字符串转换为 bigDecimal 或 Number 并将 t 放入集合中,有时我有类似 2.23 或 2,23 或 2 或 BigInteger 之类的字符串 233242424242424242。
【问题讨论】:
-
也许可以,但下面的解释更好。
java中是否有任何最终的解析函数可以分析字符串中给出的数字的类型并在类Number或类似的对象中返回其值。
我想将字符串转换为 bigDecimal 或 Number 并将 t 放入集合中,有时我有类似 2.23 或 2,23 或 2 或 BigInteger 之类的字符串 233242424242424242。
【问题讨论】:
如果您只想将String 解析为BigDecimal,您可以使用获取字符串作为参数的constructor。构造函数负责基本解析。
BigDecimal b = new BigDecimal(str);
对于复杂的解析(涉及千位分隔符),您可以使用DecimalFormat 类中的方法,并将setParseBigDecimal 设置为true。
【讨论】:
Double 方法的文档中有一个您正在寻找的正则表达式的极好示例: http://docs.oracle.com/javase/6/docs/api/java/lang/Double.html#valueOf(java.lang.String)
【讨论】: