java我怎样才能让它接受浮点数
我的问题是代码不接受浮点数字 所以,如果我在代码部分做任何更改,请建议我
{ 线程“main”java中出现异常。lang.NumberFormatException:对于输入字符串:“320.9”
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at org.lrap.otc.OTCVerification.verifyOtc(OTCVerification.java:26)
//代码部分//整数比尔=整数。parseInt(strArray[2].trim())
at org.lrap.main.Main.run(Main.java:68)
//代码部分//布尔retVal=OTCVerification。getOTCVerificationObj()。验证OTC(信息)
at org.lrap.main.Main.main(Main.java:111)
只是调用run函数 } 感谢所有帮助我的人。:-)
# 1 楼答案
要转换“浮点数字”,还应注意使用的^{} 。如果要转换字符串“320.9”,则在大多数地区都可以。如果您的程序在“法语”机器上运行,则浮点数字可能会显示为“320,9”
加倍。parse仅适用于“”作为分隔符(正确地说,它取决于sun.misc.FloatingDecimal.readJavaFormatString(String in))。所以,如果你可以依赖于这个定界符,你可以使用^{}
如果必须同时处理这两种情况,可以使用以下方法:
# 2 楼答案
使用
Double.parseDouble
解析带有分数的数字。不是Integer.parseInt
如果输入可能不是机器格式化的数字,那么您应该使用^{} 和适当的语言环境来识别使用本地约定格式化的数字(例如在欧洲部分地区为320,9)
# 3 楼答案
用于将有效字符串转换为整数。值应该介于-2147483648到2147483647之间。它不接受任何浮动点数
要转换为浮点,可以使用
Double.parseDouble or new BigDecimal.
# 4 楼答案
如果你想要一个浮点数,可以使用^{} 或^{}
如果需要整数,请使用^{} 查找} 仅获取
.
,然后使用^{.
之前的数字,然后继续使用Integer.parseInt
或者,正如Mike Samuel在下面的评论中指出的,使用
Double.parseDouble
,然后转换到int
: