[求助]数据计算和类型的小问题,困惑
各位大大,小弟刚学delphi,遇到一个小问题:我定义了三个Extended类型的变量,赋值后作减法运算,比如计算结果应为 682.6 ,但是程序的计算结果却是 682.599999999977 ,不知这是怎么回事?求各位大大解释一二为谢!!!!小弟用的是delphi5
[此贴子已经被作者于2007-10-24 22:18:46编辑过]
[此贴子已经被作者于2007-10-24 22:18:46编辑过]
帖代码
浮点数运算是有误差的,因为浮点数使用的是科学计数法。楼主可以使用Currency这个数据类型。
[此贴子已经被作者于2007-10-24 23:05:58编辑过]
由於你用的是extended類型,所以會出現這種情況,如果你不想改變變量類型又想讓它以你想要的位數出現,那你在轉化為字符型之前進行一下這個函數的轉化
qc:=round(qc*10)/10;
Edit5.Text:=FloatToStr(qc);
應該行了
[此贴子已经被作者于2007-10-25 8:53:03编辑过]
谢谢大大,这个办法是可行,但要改的地方太多了,不过也只能这样了,改吧.............
我想可以用format函数格式化一下