c# - Math.Floor vs 在 C# 中转换为整数类型

标签 c# .net

有什么理由让人更喜欢使用 Math.Floor 而不是转换为整数类型?

double num;
double floor = Math.Floor(num);

double num;
long floor = (long)num;

最佳答案

转换为整数类型与使用 Math.Floor 之间存在一些差异:

  1. 当转换为整数类型时,您最终会得到一个整数类型(很明显)。因此,如果您想将数字保持为 double ,使用 Floor 会更容易。
  2. 作为 1 的结果,如果给定的数字太大而无法用给定的整数类型表示(double 可以表示比 long 大得多的数字),则转换将无法正常工作。
  3. 向负无穷大舍入。向零 throw 回合。

关于c# - Math.Floor vs 在 C# 中转换为整数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9802978/

相关文章:

c# - foreach 上的 if 语句

c# - IN () 语句在 NHibernate 中如何工作? (使用标准)

c# - 如何在 C# 中声明可选类型?

.net - 简明二进制对象表示(CBOR)的任何 .NET 实现?

c# - 是否可以编写会导致编译时间过长的代码?

c# - 如何检查 HttpContext.Current.Response 是否有现有的 Header?

c# - 发布数据后如何读取 WebClient 响应?

c# - 无法从快速访问工具栏 (QAT) 菜单中删除自定义功能区控件

c# - C#简单兴趣计算器切换错误

C# WPF 在 Stackpanel 中以编程方式创建的 DataTemplate Dockpanel 无效