double换成int的最佳方法是什么?应该使用石膏吗?

推荐答案

如果希望默认的截断行为为零,可以使用强制转换.或者,你可能想要使用Math.CeilingMath.RoundMath.Floor等,尽管之后你仍然需要使用石膏.

不要忘记int的范围比double的范围小得多.如果在未判断的上下文中,值超出int的范围,则从doubleint的强制转换不会引发异常,而调用Convert.ToInt32(double)则会引发异常.如果值超出范围,则强制转换的结果(在未判断的上下文中)显式未定义.

.net相关问答推荐

Docker失败文件找不到

.NET restore/build在使用组织包的Github Action工作流中调用时获得401

竖线在 PropertyGroup .csproj 文件中的含义

无法在 Blazor Server 应用程序中触发 InputRadio 的 onchange 事件

是否可以将 SandCastle 创建的两个页面合并到一个主页中?

如何在 ASP.NET Core MVC 中读取操作方法的属性?

maxRequestLength 的最大值?

Int32.ToString() 是特定于文化的吗?

每第 N 个字符/数字拆分一个字符串/数字?

重新启动(回收)应用程序池

.Net 中的 Decimal.One、Decimal.Zero、Decimal.MinusOne 的用途是什么

在 C# 中转义命令行参数

日期时间是什么意思?在 C# 中是什么意思?

C#:获得完整的桌面大小?

在 C# 中将字符串转换为十六进制字符串

C# 的浮点比较函数

将记录器作为单身人士是一个好习惯吗?

清除文件内容

具有不同身份验证标头的 HttpClient 单个实例

多个列表与 IEnumerable.Intersect() 的交集