你能简化一下这个Math.Ceiling表达式吗?
decimal total
decimal? quantity, multiplier
int? days
total = (decimal)Math.Ceiling((double)quantity.Value * (double)days.Value * (double)multiplier);
Run Code Online (Sandbox Code Playgroud)
编辑我忘了提到这是Silverlight代码,因此所有的演员都变成了双.
Jon*_*eet 12
为什么要将所有内容转换为双倍?我会用:
total = decimal.Ceiling(quantity.Value * days.Value * multiplier.Value);
Run Code Online (Sandbox Code Playgroud)
(你可以改用Math.Ceiling(decimal)它,但我觉得decimal如果你使用它会更清楚decimal.Ceiling.)
将所有内容转换为double,在那里执行算术,然后转换回十进制很可能会丢失信息.您应该非常非常少地在双倍和十进制IMO之间进行转换.
| 归档时间: |
|
| 查看次数: |
666 次 |
| 最近记录: |