0

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

4

5 回答 5

1

你会想做这样的事情:

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。

于 2013-10-30T01:55:43.753 回答
0

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

private int getLastDigit(double val){
    String tmp = String.valueOf(val);
    return Integer.parseInt(tmp.substring(tmp.length()-1));
}
于 2013-10-30T02:07:27.147 回答
0
Double doubleNo = 5.51123123;
String stringNo = doubleNo.toString();
System.out.println(stringNo.charAt(stringNo.length()-1));
于 2013-10-30T03:15:48.927 回答
0

您不能charAt在浮点变量(或除Strings 之外的任何其他数据类型)上使用。(除非您charAt为自己的类定义方法...)

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

于 2013-10-30T01:53:31.560 回答
0

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

double a=5.51123123;
String strVar=String.valueOf(a);
System.out.print(strVar.charAt(strVar.length -1);
于 2013-10-30T02:04:19.230 回答