Java-计算错误
我编写了以下代码来计算两个浮点数到小数点后两位的差值:Java-计算错误,java,double,numberformatexception,Java,Double,Numberformatexception,我编写了以下代码来计算两个浮点数到小数点后两位的差值: double p = (Math.round((Double.parseDouble(a) - Double.parseDouble(a))*100))/100; a和b是字符串数组中的值,它们是带小数点的数字,但显然是字符串格式。我尝试将字符串数字转换为双精度数字并使用它们进行计算,但它似乎不起作用,并抛出以下错误: Exception in thread "AWT-EventQueue-0" java.lang.NumberForma
double p = (Math.round((Double.parseDouble(a) - Double.parseDouble(a))*100))/100;
a
和b
是字符串数组中的值,它们是带小数点的数字,但显然是字符串格式。我尝试将字符串数字转换为双精度数字并使用它们进行计算,但它似乎不起作用,并抛出以下错误:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "N/A"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
附加信息:它使用来自web的数据,以前似乎可以工作,但现在似乎有一些bug。我如何解决这个问题,问题是什么?问题是您的
字符串变量a
和b
格式不正确-“N/a”不是正确的双精度
请发布您是如何获得它们的。问题是您的字符串变量a
和b
格式不正确-“N/a”不是正确的双精度
请发布您是如何获得它们的。错误的根源是java.lang.NumberFormatException:对于输入字符串:“N/A”
这意味着a
或b
的值为N/a错误的根源是java.lang.NumberFormatException:对于输入字符串:“N/a”
这意味着a
或b
的值为N/a代码中没有b。如果您正在尝试这样做:
String[] a = {"123","23"} ;
double p = (Math.round((Double.parseDouble(a[0]) - Double.parseDouble(a[1]))*100))/100;
System.out.println(p);
那你可能会有打字错误。因为它打印出来对我来说很好。您的代码中没有b。如果您正在尝试这样做:
String[] a = {"123","23"} ;
double p = (Math.round((Double.parseDouble(a[0]) - Double.parseDouble(a[1]))*100))/100;
System.out.println(p);
那你可能会有打字错误。因为它打印出来对我来说很好。a的值是多少?a或b等于N/a。这是一个问题。请检查这些字符串是否使用点作为分隔符而不是逗号。a的值是什么?a或b等于N/a。这是一个问题。请检查这些字符串是否使用点作为分隔符,而不是逗号。这有助于我识别问题,我现在正在解决它。谢谢你指出这一点,我不知道我怎么会错过它!这有助于我确定问题所在,我现在正在努力解决。谢谢你指出这一点,我不知道我怎么会错过它!