很奇怪的问题,用strtofloat始终得不到正确的值。
var
i:Double;
begin
i := StrToFloat(edt1.Text);
// i := StrToFloat('93.33');
end;
i的值始终是一个很大的值。即使我把注释掉的语句使用了,也还是不会改变i的值
难道是我的delphi出问题了?想不通。
/* - - - - - - - - - - - - - - - - - - - -*/
找到原因了,很简单,编译器优化!
因为这段测试代码中还未使用i去做什么操作,所以i的值还不会变
只有开始使用i了,才会改变i的值。
比如加上
if i-93.332>0.001 then
MessageBox(0,'ok','ok',MB_OK);
var
i:Double;
begin
i := StrToFloat(edt1.Text);
// i := StrToFloat('93.33');
end;
i的值始终是一个很大的值。即使我把注释掉的语句使用了,也还是不会改变i的值
难道是我的delphi出问题了?想不通。
/* - - - - - - - - - - - - - - - - - - - -*/
找到原因了,很简单,编译器优化!
因为这段测试代码中还未使用i去做什么操作,所以i的值还不会变
只有开始使用i了,才会改变i的值。
比如加上
if i-93.332>0.001 then
MessageBox(0,'ok','ok',MB_OK);