文字列をInteger/Float / Doubleのいずれかに入れたいのですが、結果はNumberFormatExceptionになります。私の文字列は37,78584です。必要なタイプに変換するにはどうすればよいですか?まずは私の答えに感謝します。
質問する
94 次
3 に答える
2
Comma
("、")を""に置き換えます
String s ="37,78584";
int ival = Integer.parseInt(s.replace("," ,""));
double dval=Double.parseDouble(s.replace("," ,""));
float fval =Float.parseFloat(s.replace("," ,""));
于 2012-09-14T03:24:10.367 に答える
2
このようなことを最初に行うことができます。最初に複数の番号を分割し、String[]
それをループしてデータを取得します。
String myString ="37785 84";
String[] mSplittedNumber= myString.split(" ");
int intValue = 0;
int doubleValue = 0;
int floatValue = 0f;
for(int i=0;i< mSplittedNumber.length;i++)
{
intValue =Integer.parseInt(mSplittedNumber[i]);
doubleValue =Double.parseDouble(mSplittedNumber[i]);
floatValue =Float.parseFloat(mSplittedNumber[i]);
}
注:文字列に識別子( ""、 "|"、 "、" ....など)を持つ複数の数値が含まれている場合は、上記の回答で問題が解決します
于 2012-09-14T03:32:24.343 に答える
0
MyImplementation:
String myString = "37,78584";
{
/* Delete whitespaces from our string */
myString = myString.trim();
/* Change comma to dot cause Java double/float work with dots*/
myString = myString.replace(",", ".");
}
try {
/* Parsing */
Double myDouble = Double.valueOf(myString);
System.out.println(myDouble);
} catch (NumberFormatException ex) {
ex.printStackTrace();
}
願わくば、それはあなたにとって役に立ちました
于 2012-09-14T07:20:22.630 に答える