高手们,
为何
var
aa:single;
...
..
aa:=strtofloat(str(2.8));
结果是:
aa:=2.7999535882;而不是2.8;如何实现是aa:=2.8
为何
var
aa:single;
...
..
aa:=strtofloat(str(2.8));
结果是:
aa:=2.7999535882;而不是2.8;如何实现是aa:=2.8
aa:Currency;
......
aa:=strtofloat('2.8');
浮点型有误差
改为strtocurr(str(2.8));
整数+指数。
这里的整数、指数都是2进制的。而指数的底数也是2。
这下你该明白了吧?
比如:(011) (110), 表示 3 * 2 ^ (-2) = 3 * 1/4 = 0.75。
^^ 整数 ^^^^^ 指数 <<< ---- 用的都是反码。
赞同
Currency, 都是编译器内置的, 楼主可以看看帮助中的介绍。