2013-07-16 27 views
-1

所以我基本上是從數據庫返回一個int值作爲字符串(不要問爲什麼)。現在,我必須將它與我已有的一些價值進行比較,但是,這些價值似乎存在差異。如何在返回小數值時修復這個preparedStatement錯誤?

我值:204.4 數據庫返回值:204.40

有什麼辦法刪除多餘的零?

我的代碼閱讀是:

  if(resultSet.getString(i) != null) { 
       rowOfData.add(resultSet.getString(i).trim()); 
      } else { 
       rowOfData.add(""); 
      } 

而對於比較:

for (int i = 0; i < inputRow.size(); i++) { 
     if(!tableRowData.contains(inputRow.get(i))) { 
      return false; 
     } 
    } 
    return true; 

回答

-1

怎麼樣把它當作一個適當的數字?

String.valueOf(resultSet.getDouble(i)) 

如果該值被返回字符串,然後尾隨「0」從來沒有在數值上下文待處理和「脫落」的機會。

當處理若干尾隨0是微不足道和「脫落」:

204.40 == 204.4  // -> true 
String.valueOf(204.40) // -> "204.4" 

當然,它可能是更合適的,而不是使用將其[返回]成數字符串..

+0

爲什麼感謝!我完全可以永遠不會想到......多麼巧妙。 –

+0

(如果你想downvote - 這是完全可以的 - 請解釋爲什麼這樣我可以學習,糾正/註釋我的答案,並防止傳播不正確的信息!) – user2246674

+0

嗯,你知道我很好,我不能真正做到這一點?或者我不會有這個問題!不過謝謝您的幫助。 –