Moo*_*ght 3 c# decimal rounding
所有,
我decimal在C#中有一个设定值.我将这些写入类中的字段,然后将此类序列化为XML数据文件.但是,在尝试将存储为零或0的值四舍五入到四个小数位时,我遇到了问题.我希望0存储为0.0000.这可能用decimal吗?当然,我可以在投射时毫无问题地执行此操作string,这不是问题所在.我已阅读了许多主题,但似乎没有人解决这个问题.
非常感激任何的帮助.我的代码snippit是:
// directCost (dCost).
decimal dCost = Convert.ToDecimal(EpiCostValues[(int)epiCostField.directCost]);
dCost = decimal.Round(dCost, 4, MidpointRounding.AwayFromZero);
episodeCostTmp.dCost = dCost;
// indirectCost (iCost).
decimal iCost = Convert.ToDecimal(EpiCostValues[(int)epiCostField.indirectCost]);
iCost = decimal.Round(iCost, 4, MidpointRounding.AwayFromZero);
episodeCostTmp.iCost = iCost;
Run Code Online (Sandbox Code Playgroud)
但是这不会强制0到0.0000,这对于.xml数据文件所需的格式是个问题.
将此行添加到您的代码中
dCost *= 1.0000m;
Run Code Online (Sandbox Code Playgroud)
对于Eg:
// directCost (dCost).
decimal dCost = Convert.ToDecimal(EpiCostValues[(int)epiCostField.directCost]);
dCost *= 1.0000m;
dCost = decimal.Round(dCost, 4, MidpointRounding.AwayFromZero);
episodeCostTmp.dCost = dCost;
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 :)
| 归档时间: |
|
| 查看次数: |
2282 次 |
| 最近记录: |