Android怎么把字符串转换成Integer/Float/Double 中的一种

我想把字符串转换为Integer/Float/Double 中的一种,但是结果变成了NumberFormatException.。我的字符串是:37,78584,怎么样把他们转变为我想要的类型呢?
先谢谢帮我解答。

6个回答

设置正确的locale

String s= "37,78584";
Number number= NumberFormat.getNumberInstance(Locale.FRENCH).parse(s);
double d= number.doubleValue();
System.out.println(d);

输出:

37.78584

将字符串转化为整型;

int i = Integer.parseIn(String str);

int i = Integer.valueOf().intValue();

注:Integer.parseIn 和 Integer.valueOf 不同,前者生成的是整型,而后者是一个对象,所以要通过intValue()来获得对象的值;

使用""代替字符串里的

String str= "37,78584";str= str.replaceAll("\\,","");
Momo1199
Momo1199 还是设置locale好一些。
接近 8 年之前 回复

用""代替逗号(",")

  String s ="37,78584";
  int ival = Integer.parseInt(s.replace("," ,""));
  double dval=Double.parseDouble(s.replace("," ,""));
  float fval =Float.parseFloat(s.replace("," ,""));

Integer.parseInt("123");

Double.parseDouble("123");

Foloat.parseFloat();

Integer.parseInt("321")

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问