c#除法运算的问题

最近写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

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>