是否有任何理由更倾向于使用Math.Floor与转换为整数类型?
double num;
double floor = Math.Floor(num);
Run Code Online (Sandbox Code Playgroud)
要么
double num;
long floor = (long)num;
Run Code Online (Sandbox Code Playgroud)
sep*_*p2k 42
在转换为整数类型和使用Math.Floor之间存在一些差异:
Dan*_*rth 21
它与负值不同:
double num = -1.3;
double floor = Math.Floor(num); // = -2
long cast = (long)num; // = -1
Run Code Online (Sandbox Code Playgroud)
除了其他答案之外,不要忘记在Floor成功的地方投射可能会失败:
decimal d = decimal.MaxValue;
decimal f = Math.Floor(d); // succeeds
long l = (long)d; // fails
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5054 次 |
| 最近记录: |