我正在尝试使用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);