may*_*c19 -3 .net c# if-statement
我试图在列表中添加一个数字,但仅当数字不是255而不是0 id时才能避免嵌套if.我必须这样做的代码如下.
if (!(r == 255 || r == 0))
{
rlist.Add(r);
listBox2.Items.Add(Math.Floor(r).ToString());
}
Run Code Online (Sandbox Code Playgroud)
但是我仍然将255和0添加到列表框中,我无法弄清楚原因.谁能指出我做错了什么?在此先感谢您的帮助.
我看到的唯一解释是,这r不是一个int,而是一个double或类似的东西.
想象一下r = 255.3......
if (!(r == 255 || r == 0)) // is true, r is not 255 and not 0
Run Code Online (Sandbox Code Playgroud)
但
listBox2.Items.Add(Math.Floor(r).ToString());
Run Code Online (Sandbox Code Playgroud)
添加"255"为Math.Floor(255.3)返回255.
忘了建议一个解决方案,TarkaDaal已经提供了解决方案.
正如其他人所提到的,r是浮点数.试试这个:
var rFloor = Math.Floor(r);
if (!(rFloor == 255 || rFloor == 0))
{
rlist.Add(r); // might want to use rFloor here too
listBox2.Items.Add(rFloor.ToString());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
255 次 |
| 最近记录: |