我对此进行了一些搜索,我发现BigDecimal
有一个构造函数,我们可以将String
传递给它,它会为我们转换它。
但就我而言,我所拥有的是java.lang.CharSequence
,我需要的是BigDecimal
进行此转换的正确方法是什么?
答案 0 :(得分:9)
new BigDecimal(myCharSeq.toString())
答案 1 :(得分:1)
我将CharSequence.toString
与您提到的构造函数一起使用。 toString
文档:
返回一个字符串,其中包含此序列中的字符 与此序列相同的顺序。字符串的长度是 这段序列的长度。
这变成了:
new BigDecimal(mySequence.toString());
答案 2 :(得分:1)
致电toString()
上的CharSequence
并从中构建BigDecimal
。 Javadoc是你的朋友。
答案 3 :(得分:1)
使用CharSequence接口的.toString方法
我已经纠正了我的自我CharSequence
是一个拥有自己的toString()方法的接口。
的toString(); - 返回对象的字符串表示。
参考CharSequnce界面的http://docs.oracle.com/javase/6/docs/api/java/lang/CharSequence.html
的主要文件BigDecimal bigDecimal = new BigDecimal(charSeq.toString());
答案 4 :(得分:-1)
喜欢这个
StringBuilder sb = new StringBuilder(charSequence.length());
sb.append(charSequence);
BigDecimal bigDecimal = new BigDecimal(sb.toString());
如果toString()的charSequence具体类实现出现问题,这可以保护您。 CharSequence是一个可以由用户编写的具体类支持的接口。