小编Mar*_*cký的帖子

C#除法与可为空的十进制

我有以下代码:

    decimal? Price = 36;
    decimal? ExchangeRate = 4.4m;
    decimal result = Price ?? 0 / ((ExchangeRate == 0) ? 1 : (ExchangeRate ?? 1));
    Console.WriteLine(result);
    //result = 36
    
    decimal cleanExchangeRate = ((ExchangeRate == 0) ? 1 : (ExchangeRate ?? 1));
    decimal cleanPrice = Price ?? 0;
    decimal result2 =  cleanPrice / cleanExchangeRate;
    Console.WriteLine(result2);
    //result2 = 8.18
Run Code Online (Sandbox Code Playgroud)

第一次和第二次计算有什么区别?如果我把它作为单线来做,它不知何故不会划分价格。

c#

1
推荐指数
1
解决办法
98
查看次数

标签 统计

c# ×1