首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问上如要为负数,就赋值为0的简单方法?请前辈指导

2013-02-25 
请教下如要为负数,就赋值为0的简单方法?请前辈指导!环境:vs2010+c#+winform问题:程序里有很多下边的这些公

请教下如要为负数,就赋值为0的简单方法?请前辈指导!
环境:vs2010+c#+winform
问题:程序里有很多下边的这些公式,希望如果ymg11最终为负数,就把ymg11赋值为0,请教下有没有什么简单的方法?
  
ymg11 =  Math.Round((ymg04 - ymg10 * (ymfhcd / 100) * (ymfhnhl / 100)) / ((ymnscd / 100) * (ymnshl / 100)),1);
[解决办法]

ymg11 =  Math.Round((ymg04 - ymg10 * (ymfhcd / 100) * (ymfhnhl / 100)) / ((ymnscd / 100) * (ymnshl / 100)),1)<0?0:Math.Round((ymg04 - ymg10 * (ymfhcd / 100) * (ymfhnhl / 100)) / ((ymnscd / 100) * (ymnshl / 100)),1);
[解决办法]
if(ymg11 < 0)
{
ymg11 =0;
}
[解决办法]
ymg11=ymg11 <0?0:ymg11
[解决办法]


ymg11 =  Math.Round((ymg04 - ymg10 * (ymfhcd / 100) * (ymfhnhl / 100)) / ((ymnscd / 100) * (ymnshl / 100)),1); 
if(ymg11<0)
  ymg11=0;

[解决办法]
ymg11 =  Math.Round((ymg04 - ymg10 * (ymfhcd / 100) * (ymfhnhl / 100)) / ((ymnscd / 100) * (ymnshl / 100)),1);
if(ymg11<0)
    ymg11=0;
还是4#的这个比较妥当。
从代码的可读性考虑,合并成一句的并不好。
[解决办法]
ymg11 = Math.Max(0,Math.Round((ymg04 - ymg10 * (ymfhcd / 100) * (ymfhnhl / 100)) / ((ymnscd / 100) * (ymnshl / 100)),1));

[解决办法]
引用:
ymg11=ymg11 <0?0:ymg11


只有这样最简单了。

热点排行