您现在所在的是:

PLC论坛

回帖:2个,阅读:6208 [上一页] [1] [下一页]
1107
shixuejia2008
文章数:82
年度积分:50
历史总积分:1107
注册时间:2010/3/18
发站内信
发表于:2014/7/27 22:45:12
#0楼
请问西门子S7-300里面怎么把浮点数转换成整型呢?
谢谢
37246
cvlsam 版主
文章数:12401
年度积分:1598
历史总积分:37246
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2014/7/28 5:50:07
#1楼
首先,浮点数转换为整数是要损失精度的。

其次,你可以使用RND,RND+,RND-以及TRUNC指令去将32位浮点数转换为32位整数。

这些指令的区别是:
RND:转换为最接近的整数,例如:32.1转换为32,32.6转换为33,如果正好处于中间,那么转换为偶数,32.5结果为32,33.5的结果就是34.

RND+:转换为较大的整数,例如100.5,转换结果就是101.

RND-:与上述指令的转换效果相反。

TRUNC:扔掉小数,例如100.6的结果为100.

Good Luck~
22417
liuxd6909
文章数:11935
年度积分:394
历史总积分:22417
注册时间:2008/7/19
发站内信
2017国庆活动(三)
2015Indusoft体验
LOGO!体验一等奖
发表于:2019/7/19 22:50:01
#2楼
以下是引用cvlsam2014/7/28 5:50:07的发言:
首先,浮点数转换为整数是要损失精度的。

其次,你可以使用RND,RND+,RND-以及TRUNC指令去将32位浮点数转换为32位整数。

这些指令的区别是:
RND:转换为最接近的整数,例如:32.1转换为32,32.6转换为33,如果正好处于中间,那么转换为偶数,32.5结果为32,33.5的结果就是34.

RND+:转换为较大的整数,例如100.5,转换结果就是101.

RND-:与上述指令的转换效果相反。

TRUNC:扔掉小数,例如100.6的结果为100.

Good Luck~


多谢分享!
思想决定高度

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

46.8003