如何检查字符串是不是能够转换为 float 或 int [重复]
Posted
技术标签:
【中文标题】如何检查字符串是不是能够转换为 float 或 int [重复]【英文标题】:How to check whether the string is able to convert to float or int [duplicate]如何检查字符串是否能够转换为 float 或 int [重复] 【发布时间】:2016-08-05 12:55:03 【问题描述】:我想检查字符串是否能够转换为浮点数或整数。
例如:
我收到了
temp = 36.50
这个值可以转换成浮点数使用
float Temp = Float.parseFloat(temp);
但是如果我收到了怎么办
temp = 36.#0
我的应用程序将崩溃。那么如何检查我收到的字符串是否能够转换为浮点数?
对于 Int 我该怎么做呢?
【问题讨论】:
好吧,使用try-catch
块。或者,如果您讨厌异常,请尝试使用正则表达式来检查输入字符串是否为有效的浮点值
尝试使用 parseInt
和 parseFloat
在 try-catch 块中首先使用 parseFloat
进行解析。每当您成功解析一个时,存储一个布尔值。最后,读取布尔值进行检查。
另请注意,即使 36.0
也可能无法解析,具体取决于本地语言
看看这个问题,它被接受了答案:***.com/questions/1102891/…
【参考方案1】:
试试这个
float temp = 0 ;
try
temp = Float.parseFloat(temp);
catch (NumberFormatException ex)
// Not a float
/*
you can do something with temp variables in here
*/
【讨论】:
抛出异常不会导致应用停止吧?谢谢。 @cashOveride 谢谢!!! @crashOveride 这很方便。非常感谢。【参考方案2】:您可以确定 String 是否为 Integer,然后将其转换以避免崩溃或 try-catch。
请查看此链接了解如何操作
Determine if a String is an Integer in Java
【讨论】:
以上是关于如何检查字符串是不是能够转换为 float 或 int [重复]的主要内容,如果未能解决你的问题,请参考以下文章
C#如何把INT类型转换为方法参数对应的枚举类型?怎么强制转换?