問題がありますが、解決方法がわかりません。文字列から長い数値を取得する必要があります (この文字列は、XML ファイルからいくつかのフィールドを取得するために作成した SAXparser クラスで取得します)。
問題のあるコードは次のとおりです。
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);
}
( productは、すべての製品情報を保存するオブジェクトのインスタンスです。最後の行でエラーが発生しました)
私はそれをデバッグし、これを得ました:
ターゲット VM で例外が発生しました: 入力文字列の場合: "1.04" java.lang.NumberFormatException: 入力文字列の場合: "1.04" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) at java.lang.Long.parseLong( Long.java:419) の java.lang.Long.parseLong(Long.java:468) の parsers.LectorXML.characters(LectorXML.java:325) の com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser .characters(AbstractSAXParser.java:538) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:464) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration .parse(XML11Configuration.java:808) at 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) で <