在C#中划分为分形

Sha*_*ane 1 c#

简单的问题我想,我有点不确定为什么

decimal currentPercentage = 0;

currentPercentage = currentPercentage*((decimal)1 / (decimal)daysPerYear--);//or
currentPercentage *= ((decimal)1 / (decimal)daysPerYear--);
Run Code Online (Sandbox Code Playgroud)

每次都会返回0但是

(decimal)1 / (decimal)daysPerYear--;
Run Code Online (Sandbox Code Playgroud)

将返回我之后的小数.我在这里错过了什么?

Eli*_*sha 6

你乘以0.

currentPercentage0在计算之前:

currentPercentage = currentPercentage*((decimal)1 / (decimal)daysPerYear--);
Run Code Online (Sandbox Code Playgroud)

所以你实际上:

currentPercentage = 0 * ((decimal)1 / (decimal)daysPerYear--);
Run Code Online (Sandbox Code Playgroud)

这个表达式0无论是什么((decimal)1 / (decimal)daysPerYear--):)