爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2824|回复: 3

[求助] 强制整型

[复制链接]

新浪微博达人勋

发表于 2017-9-8 14:57:44 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
不知有人遇到过没?

读入一组浮点数,想把它扩大10倍后以整型输出,不知为何有的数值会发生变化?原数据都是1位小数。
如下图中标黄的两组数…
输出语句是这么写的:
……
write(126, '(A5, 2X,I4, 2X,I2, 2X,I2, <nt>(2X, I5))')        &
StaName(ista), yr, mo, dy, (int(10.0*hourRain(ista,iyr,iday,it)),it=1,nt)

……

2.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2017-9-8 15:04:13 | 显示全部楼层
前面输出两位看看,因为限定输出位数是四舍五入;强制转型是去掉小数位。
比如实际数据是 1.86,保留一位小数是1.9,乘以10是18.6,再取整变成18
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-9-8 15:18:17 | 显示全部楼层
本帖最后由 oishii 于 2017-9-8 15:21 编辑
言深深 发表于 2017-9-8 15:04
前面输出两位看看,因为限定输出位数是四舍五入;强制转型是去掉小数位。
比如实际数据是 1.86,保留一位 ...

谢谢言深深,刚发帖后就找到了错误原因…另原数据都是1位小数的。

把读入数据的变量和数组hourRain()定义成双精度后就解决了…

不过还是不太明白,1位小数定义成单精度再扩大10倍怎么就少了0.1了呢?原数值都是100以内…
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2017-9-9 08:09:43 | 显示全部楼层
oishii 发表于 2017-9-8 15:18
谢谢言深深,刚发帖后就找到了错误原因…另原数据都是1位小数的。

把读入数据的变量和数组hourRain() ...

也有可能是存储的问题造成的
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表