c#强行转化数据的问题。

来源:互联网 发布:sqlserver批量删除数据 编辑:程序博客网 时间:2024/04/30 06:01

最近发现了一些数据进行强行转化时的问题,需要注意以下。

用float & int 为例子

错误1.(int)(0.7f/0.1f)=7;

         这是错误的,正确答案应该是=6。

         Convert.toInt32(0.7f/0.1f)=7;这是正确的。

错误2.

          Convert.toInt32(0.7f/0.1f)-0.7f/0.1f=0;

         这是不相等的。正确为:

          Convert.toInt32( Convert.toInt32(0.7f/0.1f)-0.7f/0.1f)=0

 

         (int)(0.7f/0.1f)-0.7f/0.1f=-0.9999998;

将iint 替换为 Int32结果也是一样的。

 

我们以后再编程时要注意这一点。否则可能会出现错误,而且还不知道在哪里。

 

原创粉丝点击