今天用delphi发现一个问题,我用Format('%.4f',[i])对数据进行操作,发现有时候并不是四舍五入的,我测试了一下,如果用i:=1.98775得到的结果是1.9877,而如果i:=1.98875得到的结果是1.9878.同样测试了几个数字,小数点后面第二位的奇偶数不同也会对结果产生影响,请问这是什么原因?
解决方案 »
- application是怎么创建出来的?
- !!!!Help, 如何使我的程序支持阿拉伯语,立即揭帖
- Delphi有没有类似VB的IsNumeric()这样的函数,可以检验一个串是否为数字串?
- 运行时出现cant assign a nil to Tcomboxstrings
- case 语句
- 如何将 INF 格式文件用 install shield 打包执行
- DELPHI几个基本的问题?????
- WebService的CGI Error
- 最近惨了!如何让我的计算机占有尽量多的带宽呀!想想办法啦!
- 哪里有好、的图标下载呀谢谢,我也程序要用!
- 请教一个关于ReportMachine打印图片的动态大小问题
- 请高人指点 定义在implementation前后的全局变量有什么区别
而1.988,被进位是偶数,所以入了要用常规的四舍五入,先引用Math单元,使用SimpleRoundTo函数
function ARoundN(v: Double; n: Integer): Double;
var
I:Integer;
begin
result:=v;
for I:=0 to n-1 do
begin
result:=result*10;
end;
result:=Round(result);
for I:=0 to n-1 do
begin
result:=result/10;
end;
end;
i: Extended;