var
s:single begin
s:=strToFloat(edit1.Text);
showMessage(floatTostr(s));
end;=======这样居然会出错,
如果Edit1.text有小数点出现比如2.3,就出错,说2.3 is not a valid floating point value如果是整数就没错了 比如5太奇怪了吧,这哪里有错了,百思不得其解。。先谢谢
s:single begin
s:=strToFloat(edit1.Text);
showMessage(floatTostr(s));
end;=======这样居然会出错,
如果Edit1.text有小数点出现比如2.3,就出错,说2.3 is not a valid floating point value如果是整数就没错了 比如5太奇怪了吧,这哪里有错了,百思不得其解。。先谢谢
s:single //这里没有标点?能运行?edit1.Text:='2.3';
s:=strtofloat(edit1.Text);
showmessage(floattostr(s));
没有错误,问题应该是输入法
我也用直接在程序中赋值 ,比如Edit1.text:='2.3' 问题依旧var
s:single //这里没有标点?能运行?==这个是我这边没加,程序里有的奇怪了,不过我的机子有个怪病:浮点的小数点显示出来就是 逗号, 不知道跟这有没关系
不只是在Delphi中逗号,其他地方也一样,比如Windows计算器里,真TMD奇怪,不知道哪搞的这毛病 唉不过也不对啊,我都用ReplaceChar(**,',','.'),按道理有, 我也换成 . 了吧,奇怪,太奇怪了
那就是这个问题了。
我猜你用StrToFloat('2,3');
就是正常的^_^
请检查控制面板-区域选项中 数字 - 小数点 是不是“,”? 改为“.”就可以了。
--不过在程序里我赋值的时候还是2.3 不是, 这个倒是有点奇怪就是了结帖了