乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 86|回复: 7

atoi的返回值

[复制链接]

101

主题

507

帖子

11

银币

中流砥柱

Rank: 25

铜币
910
发表于 2004-8-10 14:19:00 | 显示全部楼层 |阅读模式
(atoi "439244444")的返回值是439244444,而(atoi "4392444444")返回值是2147483647,只要再大的数返回都会不对,这是不是和cad 的精度有关,有没有办法克服?谢谢。
回复

使用道具 举报

63

主题

1203

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1455
发表于 2004-8-10 14:35:00 | 显示全部楼层
经过证明用 ATOF 不会有事吧.如下
_$
_$ (=(AtoF "4392444444")4392444444)
T
_$
回复

使用道具 举报

101

主题

507

帖子

11

银币

中流砥柱

Rank: 25

铜币
910
发表于 2004-8-10 15:57:00 | 显示全部楼层
用(- (AtoF "43924444444") 10000000000)会返回3.39244e+010,我想让其返回33924444444,有办法吗?
回复

使用道具 举报

29

主题

1152

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1268
发表于 2004-8-10 17:10:00 | 显示全部楼层
指令: (rtos(- (AtoF "43924444444") 10000000000))
"33924444444"
3.39244e+010只是显示数据,实际数值不变
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-8-11 08:17:00 | 显示全部楼层

atoi是返回整数,而4392444444已经超出计算机处理的整数范围了,就要改用实数,如楼上几位的
回复

使用道具 举报

101

主题

507

帖子

11

银币

中流砥柱

Rank: 25

铜币
910
发表于 2004-8-11 09:32:00 | 显示全部楼层
谢谢三位版主。我知道“3.39244e+010只是显示数据,实际数值不变”。但是我是想用prompt函数将其显示在command中。如果有二十几位,就会显示科学计数,有没有办法,让其完全显示?
如(rtos(- (AtoF "431972331971753017") 131972331971753017))返回"3.0000E+17"
谢谢。
回复

使用道具 举报

26

主题

3072

帖子

10

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3177
发表于 2004-8-11 11:01:00 | 显示全部楼层
(rtos xxx 2 14)
仔细看看帮助文件中rtos函数中各参数的介绍
不过你的数字已经超出了CAD的控制精度范围了,将无法满足你的要求,你除以100就可以了,不知道什么地方你需要处理这么大的数字?你是做天文的还是做量子学的?
回复

使用道具 举报

101

主题

507

帖子

11

银币

中流砥柱

Rank: 25

铜币
910
发表于 2004-8-11 12:11:00 | 显示全部楼层
我不是做天文的和量子学的,飞版主把我想的太高深了。 :)
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-8-24 15:41 , Processed in 3.927257 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表