最近写c#程序时遇到一个自已感觉有点奇怪的问题,
[csharp]
double c = a/b;
if(c<10000 && c>0.0001)
{
k.value = d;
}
[/csharp]
本来是想判断如果a和b的差值比较大的情况下就不更新数据库的。
如果a大于b问题不大,但当a小于b的时候,c的值有可能是0.00
网上查了一下,说是必须得先把被除数转成十进制才可以,即:
[csharp]
decimal c = (decimal)a/b;
if(c<10000 && c>(decimal)0.0001)
{
k.value = d;
}
[/csharp]
详细描述,请参考http://www.cnblogs.com/GIS_zhou/articles/1818986.html