大家好,今天我正在测试一些东西并发现问题。
见:
int a = 13;
int b = 10;
double c = a/b;
结果为 1
。或者它应该是这样吗?
答案 0 :(得分:1)
将int
除以int
执行整数除法。如果要执行十进制除法,请将其中一个操作数强制转换为double
。
double c = (double)a / b;
// ---OR---
double c = a / (double)b;
此外,将c
声明为double
并不能保证十进制除法。它也可以是隐式类型变量。只要/
运算符的一个或两个操作数的类型为double
(或float
,decimal
等),您就会得到小数结果。< / p>
答案 1 :(得分:0)
您必须指定您需要double
精度,例如
int a = 13;
int b = 10;
double c = a/(double)b;