delphi 中如何将string转成extended?急求。。。。。。strtofloat用不了啊? 10

我现在要处理的数字这种形式:9.062705115038622E-4或者-0.0018839088514177576因为比较大用double就不行了,比double能存储... 我现在要处理的数字这种形式:9.062705115038622E-4 或者-0.0018839088514177576 因为比较大用double 就不行了,比double 能存储的是extended吧?我现在要把以上数字的字符串转成extended类型再存在数组中,可是strtofloat截取之后精度就变了,比如说: 0.0022783474240102275用strtofloat后就是0.002278347424只有前12位。怎么办呢? 展开
 我来答
gcbjoy
2016-05-22 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:92%
帮助的人:2151万
展开全部
用以下方式,即使用val过程可以得到15位有效数字的实数。
procedure TForm1.Button1Click(Sender: TObject);
var
  s,ss:string;
  i,code:integer;
  z:extended;    {使用real、double、extended 效果一样}
begin
  s:=edit1.Text;
  val(s,z,code);
  str(z:0:20,ss);
  edit2.Text:=ss;
end;
更多追问追答
追问
谢谢你的回答,我试了用val还是不行啊,还是只截取了前12位,怎么办呢?
追答
我得到的结果是15位 !
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式