我正在尝试使用float.parsefloat()方法将字符串解析为浮点型,但是它给我关于格式的错误。

int v_CurrentPosX = Math.round(Float.parseFloat(v_posString)); //where v_posString is the float that I want to convert in this case 5,828


错误:


  线程“主”中的异常java.lang.NumberFormatException:用于输入
  字符串:“ 5,828”
  sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
    在sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)

最佳答案

您的问题是冒号(,)不是JVM中的默认语言环境...

您可以使用具有正确语言环境的NumberFormat

String x = "5,828";
NumberFormat myNumForm = NumberFormat.getInstance(Locale.FRENCH);
double myParsedFrenchNumber = (double) myNumForm.parse(x);
System.out.println("D: " + myParsedFrenchNumber);

10-06 09:09