0

我想在我的控制台中等同于 24/5 并在屏幕上显示等式和答案(答案 = 4.8),我将代码编写为:

int answer = 24 / 5; //declare answer
Console.WriteLine("24 / 5 = " + answer);
Console.ReadLine();

我尝试使用变量 decimal、double、float 和 int 作为答案,但控制台总是会写出答案“4”而不是“4.8”。

有人可以帮忙吗?

4

2 回答 2

2
int answer = 24 / 5;

上面的一切都是int,你怎么期望得到一个小数点?即使您将类型更改answerdoublethis 也无法解决问题,因为24 / 5仍然返回整数值。

要获得一个double值,至少有一个操作数应该是double类型。像:

double answer = (double) 24 / 5;

或者

double answer =  24d / 5;

或者

double answer = 24.0 / 5;

或者

double answer = 24 * (1.0) / 5;

或修改/强制5加倍。

于 2013-10-04T18:42:17.990 回答
1

当你写24 / 5时,在这种情况下,运算符是为int 类型/定义的运算符(因为两边都是int 类型),所以结果也是。试试这个:int

double  answer = 24 / 5.0;
Console.WriteLine("24 / 5 = " + answer);

当您为其中一个操作数提供double 类型时,在这种情况下,将使用运算符的 double 形式,/结果也将是 double。

于 2013-10-04T18:38:08.433 回答