今天在项目中遇到,要进行小数与小数的比较
//在C#中进行小数的比较时,建议最好是用decimal,而不是用double,
decimal m = Convert.ToDecimal(str[0].Trim()) + Convert.ToDecimal(str[1].Trim());
decimal n = Convert.ToDecimal(str[0].Trim()) - Convert.ToDecimal(str[1].Trim());
decimal k = Convert.ToDecimal(e.Cell.Data.ToString());
if (strSymbol.Equals("=="))
{
MessageBox.Show("m:" + m.ToString() + ";" + "n:" + n.ToString() + ";"+"k:"+k.ToString());
MessageBox.Show((m.Equals(k)||n.Equals(k)).ToString());
//double中,如果是做的加法计算,可能m会等于k,但如果是做的减法计算,如n就不会等于k,如n=4.991
//与k=4.991两者进行等于运算,就会出错,
if (n==k||m==k)
{
Run_Color("white");
Play(true);
return;
}
else
{
Run_Color("red");
Play(false);
}
}