严格地讲,按C#语法表达式 11.5 % 3 是非法的。当你在Visual Studio中输入这个表达式的时候,会出现提示错误的红色波浪线(如下图)
错误的原因是:取余运算符% 左右两个操作数必须是整型类型的(int,long, short ,byte....),而常数11.5默认的类型是double。
因此,要计算表达式 11.5 % 3,必须使用强制转换,将double类型的常数11.5强制转换为int类型(因为表达式中常数3的默认类型为int),然后再做取余运算
int x = (int)11.5 % 3;
这个表达式的计算过程如下:
(1)(int)11.5将常数强制转换为int,结果为11(注意:强制转换的原则是“向零取整”)
(2)11 % 3 的结果为 2
(2)x 的值等于 2
=2.511.3%3的意思就是11.3除以三的余数