foreach( double r in portfolioReturns)
{
if (-8.0 < r < -7.0)
{
n8++;
}}
答案 0 :(得分:11)
你实际上是在做这个
if ((-8.0 < r) < -7.0)
由于(-8.0&lt; r)计算为布尔值,因此无法将其与浮点数进行比较。这样做:
if (-8.0 < r && r < -7.0) {
//code here
}
答案 1 :(得分:5)
if (-8.0 < r && r < -7.0)
答案 2 :(得分:3)
让我猜,你来自python?这是我所知道的唯一有效的语言: - )
首先查看(-8.0 < r < -7.0)
,-8.0&lt; r得到评估,这是真的。真实&lt; -7.0 barfs。
答案 3 :(得分:3)
您还可以使用LINQ,以及如此快速提供的修复
n8 += portfolioReturns.Count(r => -8.0 < r && r < -7.0);
答案 4 :(得分:1)
foreach(double r in portfolioReturns)
{
if(-8.0 < r && r < -7.0)
n8++;
}