如何检查字符串是不是能够转换为 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 块。或者,如果您讨厌异常,请尝试使用正则表达式来检查输入字符串是否为有效的浮点值 尝试使用 parseIntparseFloat 在 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类型转换为方法参数对应的枚举类型?怎么强制转换?

如何使用 avx 指令将 float 向量转换为 short int?

Python,确定字符串是否应转换为Int或Float

请问C语言中如何将int转换为float

如何将float转换成string

OCaml如何将多态数转换为浮点数?