C#中,论double与decimal


今天在项目中遇到,要进行小数与小数的比较

//在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);
	}
}


 
 
 
 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值