1
我正在使用jOpenDocument庫處理.ods電子表格。因爲我正在處理字符串,所以一切都很好,但是當涉及到處理數字時,這是一種痛苦。jOpenDocument Sheet.getValueAt(int,int)返回值是一個String還是一個BigDecimal?
在我的代碼中,我迭代了電子表格,並根據單元在索引x,y處假定的值進行了一些計算。令人驚訝的是,我不能得到的I類得到的值:
BigDecimal ferialestringa;
while (true) {
boolean duplicate = false;
value = (String) sheet.getValueAt(0, count);
System.out.println(sheet.getValueAt(5, count).getClass());
ferialestringa = (BigDecimal) sheet.getValueAt(5, count);
這段代碼打印出:
class java.math.BigDecimal
class java.lang.String
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.math.BigDecimal
at InspectTwitter.main(InspectTwitter.java:78)
你可以看到,價值似乎屬於兩個不同的類別。
如果我試圖返回的對象解析爲一個字符串,我還得到另一個ClassCastException異常:
class java.math.BigDecimal
Exception in thread "main" java.lang.ClassCastException: java.math.BigDecimal cannot be cast to java.lang.String
at InspectTwitter.main(InspectTwitter.java:78)
注意,這一次,學生似乎只是BigDecimal的。
我試圖找到文檔,但只有Sheet.getValueAt(String)可用於this javadoc。 (儘管我已經在教程中找到了這個方法,並且它在字符串上似乎工作得很好)。我該怎麼辦?