(JAVA) 如何使用 charAt() 查找任何实数的最后一位数字(或最右边)



你好,我是编程新手作为标题,我想知道你如何找到任何给定数字的最后一位数字?例如,当输入 5.51123123 时,它将显示 3我只知道我应该使用字符我应该使用 while 循环吗?提前致谢

您可能希望执行以下操作:

double number = 5.51123123;
String numString = number + "";
System.out.println(numString.charAt(numString.length()-1));

当你执行数字 + " 时,Java 将数字类型从双精度"强制"为字符串,并允许您对其执行字符串函数。

numString.length()-1

是因为 numString.length() 返回字符串中所有字符的计数,但 charAt() 索引到字符串中,并且它的索引从 0 开始,所以你需要执行 -1,否则你会得到一个 StringIndexOutOfBoundsException。

您可以简单地使用以下函数,并且可以相应地自定义数据类型,

private int getLastDigit(double val){
    String tmp = String.valueOf(val);
    return Integer.parseInt(tmp.substring(tmp.length()-1));
}
不能

对浮点变量(或除 String s 以外的任何其他数据类型)使用 charAt。 (除非你为自己类定义了一个charAt方法...

但是,您可以将该浮点数转换为字符串并检查charAt(str.length()-1)

将浮点变量转换为字符串并使用 charAt(strVar.length - 1) .

double a=5.51123123;
String strVar=String.valueOf(a);
System.out.print(strVar.charAt(strVar.length -1);
Double doubleNo = 5.51123123;
String stringNo = doubleNo.toString();
System.out.println(stringNo.charAt(stringNo.length()-1));

最新更新