我想将字符串放入 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
我的实现:
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 回答