将字符串解析为数字
我有一个列表,它将存储数字对象。该列表将通过解析字符串列表来填充,其中每个字符串可以表示 Number 的任何子类。
如何将字符串解析为通用数字,而不是整数或浮点数等特定数字?
我有一个列表,它将存储数字对象。该列表将通过解析字符串列表来填充,其中每个字符串可以表示 Number 的任何子类。
如何将字符串解析为通用数字,而不是整数或浮点数等特定数字?
无法实例化 Number,因为它是一个抽象类。我建议传入 Numbers,但是如果你在 Strings 上设置了字符串,你可以使用任何子类来解析它们,
Number num = Integer.parseInt(myString);
或
Number num = NumberFormat.getInstance().parse(myNumber);
@See数字格式
您可以使用 java.text.NumberFormat 类。此类具有一个 parse() 方法,该方法解析给定的字符串并返回相应的 Number 对象。
public static void main(String args[]){
List<String> myStrings = new ArrayList<String>();
myStrings.add("11");
myStrings.add("102.23");
myStrings.add("22.34");
NumberFormat nf = NumberFormat.getInstance();
for( String text : myStrings){
try {
System.out.println( nf.parse(text).getClass().getName() );
} catch (ParseException e) {
e.printStackTrace();
}
}
}