我有问题,但我不知道如何解决它: 我需要从String中获取一个Long数字(我在一个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”at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) 在java.lang.Long.parseLong(Long.java:419)at java.lang.Long.parseLong(Long.java:468)at parsers.LectorXML.characters(LectorXML.java:325)at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.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) at parsers.LectorXML.leer(LectorXML.java:71)at parsers.LeerXML.main(LeerXML.java:20)<
答案 0 :(得分:2)