
delphi 保留小数 不进位
varr1:double;beginr1:=StrToFloat(formatFloat('.000',StrToFloat(FloatTOStr(StrToFloat(...
var
r1:double;
begin
r1:=StrToFloat(formatFloat('.000', StrToFloat(FloatTOStr(StrToFloat(edit1.text)*StrToFLoat(edit2.text)*StrToFLoat(edit3.text)))));
edit4.text:=Floattostr(r1);
end;
这个结果是 1.2345=1.235 我想的要结果是 1.2345=1.234 不管小数后第4位是什么都舍去。应该怎么写 展开
r1:double;
begin
r1:=StrToFloat(formatFloat('.000', StrToFloat(FloatTOStr(StrToFloat(edit1.text)*StrToFLoat(edit2.text)*StrToFLoat(edit3.text)))));
edit4.text:=Floattostr(r1);
end;
这个结果是 1.2345=1.235 我想的要结果是 1.2345=1.234 不管小数后第4位是什么都舍去。应该怎么写 展开
1个回答
展开全部
1.用round,要引用 math单元
round(value,len);
比如你要保留三位小数就
round(1.2345,-3);//结果就是1.234
2.用trunc
//先乘1000再取整,再除以1000,就会只保留3位
r1:= trunc( (StrToFloat(edit1.text)*1000)) /1000;
edit4.text:=Floattostr(r1);
round(value,len);
比如你要保留三位小数就
round(1.2345,-3);//结果就是1.234
2.用trunc
//先乘1000再取整,再除以1000,就会只保留3位
r1:= trunc( (StrToFloat(edit1.text)*1000)) /1000;
edit4.text:=Floattostr(r1);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询