gpt4 book ai didi

c# - 安全地自动从 double 转换为十进制 : Is the following safe?

转载 作者:太空狗 更新时间:2023-10-29 23:10:25 25 4
gpt4 key购买 nike

在 C# 中以下列方式从 double 转换为 decimal 是否安全:

int downtimeMinutes = 90;
TimeSpan duration = TimeSpan.FromHours(2d);
decimal calculatedDowntimePercent = duration.TotalMinutes > 0?
(downtimeMinutes / (decimal)duration.TotalMinutes) * 100.0m : 0.0m;

如果答案是肯定的,那么不用大惊小怪,我会标记为已接受。

最佳答案

一般来说,double -> decimal转换不安全,因为 decimal范围更小。

不过,只要TotalMinutes小于最大值 decimal值(value)* 它会没事的。这是真的,因为 TimeSpan.MaxValue.TotalMinutes < (double)decimal.MaxValue (我相信 TimeSpan 在内部使用了 long。)

所以:是的。

*: (79,228,162,514,264,337,593,543,950,335分钟是宇宙年龄的1.1×10^13倍)

关于c# - 安全地自动从 double 转换为十进制 : Is the following safe?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6839369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com