当它应该是0.0x时,十进制值为零

Mik*_*lls 1 c# decimal division

如果之前已经谈过,我很抱歉,我很难在此搜索.

我正在计算折旧率.我们计算的一部分是1 /月的寿命.我的表将这些数据存储在一个decimal字段中.我尝试过,test = 1 / estimatedLife;但计算结果test(定义为a decimal)为0.

说估计寿命是36个月.所以1/36应该等于0.02777778.

对我做错了什么的想法?

顺便说一下,我把它test变成了一个双倍的结果.

SwD*_*n81 5

尝试:

test = 1.0M / estimatedLife;
Run Code Online (Sandbox Code Playgroud)


Nic*_*ver 5

另一个内置替代方案是Decimal.Divide:

test = Decimal.Divide(1, estimatedLife);
Run Code Online (Sandbox Code Playgroud)

更多要写,但非常明确我会说.