Java 如何比较浮点和整数
我想从散列中的值执行一个简单的操作,如下所示:Java 如何比较浮点和整数,java,Java,我想从散列中的值执行一个简单的操作,如下所示: boolean f=Float.valueOf(entry.getValue().toString())>15; at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122) at java.lang.Flo
boolean f=Float.valueOf(entry.getValue().toString())>15;
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
at java.lang.Float.parseFloat(Float.java:451)
at java.lang.Float.valueOf(Float.java:416)
at Algorithms.HRMDx.HRMDiag(HRMDx.java:76)
但是,当我运行此命令时,会出现如下错误:
boolean f=Float.valueOf(entry.getValue().toString())>15;
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
at java.lang.Float.parseFloat(Float.java:451)
at java.lang.Float.valueOf(Float.java:416)
at Algorithms.HRMDx.HRMDiag(HRMDx.java:76)
我认为这与我是如何比较浮点数有关,但我不知道为什么。我是否也需要将整数转换为浮点-我认为转换是隐式的错误与int和float之间的转换或比较无关 正如堆栈跟踪明确指出的那样,从字符串解析浮点值时出错
由于我们都不知道条目可能是什么,因此无法说出解析失败的原因。发生的情况是以下表达式:
Float.valueOf(entry.getValue().toString())
正在引发异常。您在向我们展示的内容中没有包含异常及其消息,但这可能是由于试图解析格式不正确的数字而导致的NumberFormatException
您需要找出entry.getValue.toString返回的内容,以便找出解析失败的原因
您可能还需要添加一些代码,以便从该字段中的错误输入中恢复,或者不管它是什么
我认为转换是隐含的
这与int到float的转换无关,反之亦然。如果valueOf call实际返回,那么您的15将转换为15.0,>测试将正常工作。您错过了异常名称和消息!!如果您查看了发布的堆栈跟踪,就会发现错误来自一个名为parseFloat的方法。这就是我得到的全部信息。没有异常名称我想Float.valueOf的问题与比较逻辑异常和堆栈跟踪的问题是有原因的。请阅读文档,了解您遇到的错误。没有答案否?为什么这不是答案?您最初的非答案是因为我们都不知道条目可能是什么,所以无法说出解析失败的原因。在您进行编辑之前,它看起来像是一个回答。对不起,我过早地按了add,没有发现您的评论与编辑之前的短时间有关:D谢谢!对一个非数字悄悄进来,我没有注意到。再次感谢