在报告中,我们的客户可以拥有超过10万个已检查的项目,并且在报告元数据(xml文件)中需要2个小数百分比的“检查确认”项目的数量。
但是,除非实际上一切正常,否则该数字不应为100%。由于项目数量,标准数学运算和String.Format()可以进行舍入误差。
这有一个优雅的解决方案吗?
客户接受99.99%是一个涵盖99.999999999%的特殊情况,即使它在数学上是不正确的。
重要的是,当有些项目未检出时,报告数据不会显示100%。
答案 0 :(得分:2)
小助手方法有什么问题?
public double GetPercentage(int checkedOk, int total)
{
if (checkedOk == total)
return 100.0;
var percentage = (100.0 * checkedOk) / total;
return percentage > 99.99 ? 99.99: percentage;
}
我会删除神奇数字'99 .99`但你明白了。