我有一个问题,但我不知道如何解决它:我需要从一个字符串中获取一个长数字(我在我编写的一个 SAXparser 类中获取这个字符串以从 XML 文件中获取一些字段)。
这是有问题的代码:
if (bprice) {
String price = new String(ch, start, length);
System.out.println("Product price: " + price);
bprice = false;
if (price.equalsIgnoreCase("0"))
product.price = null;
else product.price = Long.parseLong(price);
}
(产品是我存储所有产品信息的对象的一个实例。我在最后一行得到了错误)
我调试了它,我得到了这个:
目标 VM 中发生异常:对于输入字符串:“1.04”java.lang.NumberFormatException:对于输入字符串:“1.04”在 java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) 在 java.lang.Long.parseLong( Long.java:419) 在 java.lang.Long.parseLong(Long.java:468) 在 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser 的 parser.LectorXML.characters(LectorXML.java:325) .characters(AbstractSAXParser.java:538) 在 com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:464) 在 com.sun.org.apache.xerces.internal.parsers.XML11Configuration .parse(XML11Configuration.java:808) 在 com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) 在 com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119) 在 com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java: 1205)在parsers.LectorXML.leer(LectorXML.java:71)在parsers.LeerXML.main(LeerXML.java:20)