为什么我的C#代码返回0,如果它必须是50?
double c = (1 / 2) * 100;
Console.WriteLine(c);
Run Code Online (Sandbox Code Playgroud)
怎么了?
1,2并且100,在你的例子,都是int文字.在C#中,整数除法返回整数,并忽略余数.只有在计算1/2(= 0)并乘以100(= 0)后,结果才会转换为double
(1.0/2) * 100
Run Code Online (Sandbox Code Playgroud)
会给出预期的结果,因为现在1.0是一个double文字,并且double在执行计算之前强制将其他文字转换为s.