0

我想将字符串放入 Integer/Float/Double 之一,但结果放入 NumberFormatException.. 我的字符串是:37,78584,如何将它们转换为我想要的类型?首先感谢我的回答。

4

3 回答 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 回答