我已经开始学习如何使用Java进行编程,而且我已经掌握了基本知识。我使用BlueJ。我想编写一个程序,我可以将double检验加入其中,将其除以10,它将给出整数的答案。然后,我想通过给定的原始数减去得到的整数来更改给定的veriable。我将代码放在这里。
这是问题所在。 如果我输入数字34.25 它会输出 3 4.25 一切都很好 但是,如果我输入34.9,它会打印 3 4.899999999999999,而不是4.9 如果我输入34.15,同样会令人沮丧。它打印 3 4.149999999999999
为什么会发生这种情况?我想念什么?
非常感谢您的时间!
import java.util.Scanner;
public class Test
{
public static void main(String[] args)
{
double Distance;
Scanner scan = new Scanner (System.in);
Distance = scan.nextDouble();
int tenM = (int)Distance/10;
Distance = Distance - tenM*10;
System.out.println(tenM);
System.out.println(Distance);
}
}