【发布时间】:2015-07-13 12:06:14
【问题描述】:
【问题讨论】:
-
整数除法。
5/2 == 2.试试double x = 5.0/2 -
Tnx @AlexD!答案帮助我理解了
标签: c#
【问题讨论】:
5/2 == 2.试试double x = 5.0/2
标签: c#
5 / 2 执行integer division 无论您分配的类型。它总是忽略小数部分。
您需要改用浮点除法。
double x = 5.0 / 2;
double x = 5 / 2.0;
double x = 5.0 / 2.0;
当您将两个整数相除时,结果总是是一个整数。为了 例如,7 / 3 的结果是 2。
来自C#规范部分$7.7.2 Division operator,有3种划分;
从整数除法的相关部分;
除法将结果四舍五入到零,并且绝对值 结果是小于 两个操作数的商的绝对值。结果为零 或正,当两个操作数具有相同的符号和零或 当两个操作数的符号相反时为负数。
【讨论】: