在winform中 用户使用DataGrid 填入工资的数据 计算出 double类型的Sum (测试的时候Float类型在计算小数的时候不准确)
现在想确定 Sum 的值在某个范围内 比如 500 < Sum <= 2000 或者 2000 < Sum <= 5000 (个人所得税的范围)
编译的时候报 运算符“<”无法应用于“bool”和“int”类型的操作数 错误
由于需要 又不能把Sum强转成INT类型丢失小数部分
请高手帮帮忙啊!!谢谢
现在想确定 Sum 的值在某个范围内 比如 500 < Sum <= 2000 或者 2000 < Sum <= 5000 (个人所得税的范围)
编译的时候报 运算符“<”无法应用于“bool”和“int”类型的操作数 错误
由于需要 又不能把Sum强转成INT类型丢失小数部分
请高手帮帮忙啊!!谢谢
/* Do Something */
}else if( Sum > 2000 && Sum <= 5000 ){
/* Do Something */
}不能像写数学那样范围。
/* Do Something */
}else if( Sum > 2000 && Sum <= 5000 ){
/* Do Something */
}
500 < Sum <= 2000 这里有两个操作符,< 和 <=他们都是逻辑运算符,所以他们的优先级是一样的,所以从左向右依次运算。相当于( 500 < Sum ) <= 2000左边这部运算的结果是个 bool 类型,所以最后就变成了 true <= 2000 或者 false <= 2000<= 这个逻辑运算符要求左右操作数的类型一致,但是左操作数是bool,右是int,自然编译不过。