令人困惑的是分割两个整数

时间:2016-12-08 10:49:53

标签: c# int

大家好,今天我正在测试一些东西并发现问题。

见:

int a = 13;    
int b = 10;
double c = a/b;

结果为 1 。或者它应该是这样吗?

2 个答案:

答案 0 :(得分:1)

int除以int执行整数除法。如果要执行十进制除法,请将其中一个操作数强制转换为double

double c = (double)a / b;

// ---OR---

double c = a / (double)b;

此外,将c声明为double并不能保证十进制除法。它也可以是隐式类型变量。只要/运算符的一个或两个操作数的类型为double(或floatdecimal等),您就会得到小数结果。< / p>

答案 1 :(得分:0)

您必须指定您需要double精度,例如

int a = 13;
int b = 10;
double c = a/(double)b;