当前位置:编程学习 > C#/ASP.NET >>

请问: double b = 203.6-200; 计算得:b=3.5999999999999943 何故???????????????????????

 c# :double b = 203.6-200; 计算得:b=3.5999999999999943 何故???????????????????????
只要是200左右的计算都会出此问题。。。。。
         double b = 264.6;
       double a = 200.1;

        a=b-a; --------------------编程问答-------------------- http://topic.csdn.net/u/20071123/16/8e624f1e-27b2-4640-9eb0-50b543f2dfb3.html

你的问题跟这个问题是一样的...

浮点数误差...

让我奇怪的是...现在的计算机专业不教基础了?还是你们都是青鸟出来的? --------------------编程问答--------------------
工业标准!使用 IEEE“就近舍入”模式确定类型 float 或 double 的实数的值。 --------------------编程问答-------------------- double跟float 都是浮點數
因為浮點數都只是近似值所以會有你看到的誤差出現這是正常的
先去了解IEEE制定的浮點數就知道為什麼了

總之不管你是用加減乘除還是直接指定值給double或是float就一定會有誤差
如果想要做精確的計算就不能用浮點數要改用decimal
要記註浮點數只有用來計算超級大值跟超級小值才用得到 (銀河系有多少原子? )
但是很多人都搞錯了
只要一遇到要小數點的就宣告成浮點數
其實應該用decimal才對 (尤其是財務方面的計算)

如果改成 0.0001m + 0.0002m 就不會有誤差了 --------------------编程问答-------------------- 偶是NIIT出来的~老师也将过这个问题~一直没解决~很晕哈哈~
--------------------编程问答--------------------      现在的 计算机专业  吗的 基本不教基础了``````````

            一开始就是来狂写了````

            搞得有些很基础的一点都不懂``  都得自己去从头看起``` --------------------编程问答-------------------- 呵呵!不能说都不教基础了,连我们通信专业的都学计算机基础的,只不过当初老师讲的时候我都去见周公了!
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,