如何在Java中检查字符串是否为数字?
我们将检查字符串是否为数字-借助逻辑,我们将解决此问题,
第一步,我们将使用一个名为str的字符串变量,并将任何值存储在其中。
在第二步中,我们将使用一个名为str_numeric的布尔变量,该变量存储布尔值(如true或false)。让我们假设给定的字符串是数字,因此最初的布尔变量str_numeric设置为true。
在第三步中,我们将在try块中做一件事,我们将使用parseDouble()
方法将String变量转换为Double,因为最初我们假设给定的字符串是数字,这就是我们首先进行转换的原因。
如果抛出错误(即NumberFormatException),则意味着给定的String不是数字,然后将布尔变量str_numeric设置为false。否则,给定的字符串是一个数字。
示例
public class IsStringNumeric { public static void main(String[] args) { //我们已经使用双精度值初始化了一个字符串变量 String str1 = "1248.258"; //我们已经初始化了一个布尔变量,然后 //最初,我们假设字符串是数字 //以便将值设置为true- boolean str_numeric = true; try { //这里我们将字符串转换为double- //以及为什么我们要加倍,因为 //它是数字的大型数据类型,并且 //如果我们取整数,那么我们就不能工作 //具有双重值,因为我们无法隐蔽 //然后,将int翻倍为int- //我们将获得一个异常,以便布尔变量 //设置为false意味着我们将得到错误的结果。 Double num1 = Double.parseDouble(str1); } //在这里它将引发一个异常 //当给定的输入字符串不是数字时 //然后将布尔变量设置为false。 catch (NumberFormatException e) { str_numeric = false; } //如果给定的字符串是数字,则执行if- if (str_numeric) System.out.println(str1 + " is a number"); //如果给定的字符串不是数字,则执行否则 else System.out.println(str1 + " is not a number"); } }
输出结果
D:\Programs>javac IsStringNumeric.java D:\Programs>java IsStringNumeric 1248.258 is a number