public static double Fraction2Decimal(int Numerator, int Denominator)
{
double Answer = Numerator / Denominator;
return Answer;
}
public static void main(String args[])
{
double ans = Fraction2Decimal(2, 8);
double pi = 3.141592653589793238462643383;
System.out.print(ans);
}
这段代码正在做的是将分数转换为十进制/双倍,2/8作为十进制是0.25,因为每个人都知道,但IntelliJ IDE返回此
0.0
Process finished with exit code 0
咦!它应该返回0.25,有人能解释这里发生了什么吗?
编辑: 我只是通过检查类型是否缩短答案。
答案 0 :(得分:-1)
因为你要分为整数,所以只能产生一个int。在除法时,它们会被淹没(四舍五入到较低的整数)。 在进行操作之前,尝试将它们转换为double o float。