我有几个显示数值的标签,我需要将这些文本解析为数字.问题是当值大于999时,解析方法失败抛出以下异常:
线程"AWT-EventQueue-0"中的异常java.lang.NumberFormatException:对于输入字符串:java.lang.NumberFormatException.forInputString(Unknown Source)中的"1,000.00"
我尝试了几种解析方法,比如Double.valueOf(string)new BigDecimal(string),new BigInteger(string)等等......但总是抛出异常.
我有一个自定义类PDFDataItem,提供getValue()方法,该方法返回一个double值(请参阅附加的代码).我还有一个包含多个PDFDataItem实例的ArrayList,每个实例都有一个特定的值:不同的实例可以具有相同的值.我想要做的是创建一个LinkedHashMap,其中单独存储实例的值,并且对于找到的每个值,存储的数量(即它比较的实例的数量).当然,我可以找到许多技巧来实现我的目标,但我想知道是否存在快速方法(可能使用lambda).
public class PDFDataItem{
double value;
public PDFDataItem(double value){
this.value = value;
}
public double getValue(){
return value;
}
}
Run Code Online (Sandbox Code Playgroud)