中国自动化学会专家咨询工作委员会指定宣传媒体
免费注册 登录 广告服务 | 客服中心
您现在所在的是:

施耐德电气论坛

抖音 西门子减速电机 德嘉 台达 英威腾 泓格论坛 西门子 我和LOGO!有个约会 FLIR红外热像论坛 【有奖活动】英威腾 “Ni美国国家仪器 “PLC发展趋势大讨论”活动圆满结束 cc-link图文征集活动 西门子SMART LINE V3
工控论坛首页 施耐德电气PLC → 浏览主题: [每日小技巧 191011] SoMachine中如何保留浮点数特定的小数位数
发表新帖 回复该主题
回帖:3个,阅读:163 [上一页] [1] [下一页]
* 帖子主题:

[每日小技巧 191011] SoMachine中如何保留浮点数特定的小数位数

分享到
949
weicy007
文章数:310
年度积分:949
历史总积分:949
品牌积分(施耐德):467
注册时间:2019/4/29
发站内信
发表于:2019/10/11 14:51:39
#0楼
在日常编程时有时会在进行算数运算时只需要保留小数点后两位或者三位的情况,不需要太多的小数位,在SoMachine中没有专门的功能块来保留固定的小数位数,需要通过编程来实现,不过编程也很简单。
以保留小数点后2位来距离,只需要将原来的real类型变量,乘以100,取整后再除以100即可,程序如下,a为处理前的数,b为保留了2位小数后的数;
附件 TIM截图20191011145031.jpg



很惭愧,做了一点微小的贡献。
27716
cvlsam 版主
文章数:10485
年度积分:1870
历史总积分:27716
品牌积分(施耐德):125
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2019/10/11 15:22:11
#1楼
以下是引用weicy0072019/10/11 14:51:39的发言:
在日常编程时有时会在进行算数运算时只需要保留小数点后两位或者三位的情况,不需要太多的小数位,在SoMachine中没有专门的功能块来保留固定的小数位数,需要通过编程来实现,不过编程也很简单。
以保留小数点后2位来距离,只需要将原来的real类型变量,乘以100,取整后再除以100即可,程序如下,a为处理前的数,b为保留了2位小数后的数;
附件 TIM截图20191011145031.jpg




我个人认为可以先把REAL转换为STRING,然后使用字符串操作函数根据需要保留的位数来返回对应的字符,之后将STRING转换为REAL,这样用户只要给出REAL和需要保留的位数即可。


附件 workpicture1.jpg

附件 workpicture2.jpg

Good Luck~
[此贴子已经被作者于2019/10/11 16:09:42编辑过]
949
weicy007
文章数:310
年度积分:949
历史总积分:949
品牌积分(施耐德):467
注册时间:2019/4/29
发站内信
发表于:2019/10/12 15:55:57
#2楼
回复 #1楼 cvlsam
太感谢了,这个确实非常好。
很惭愧,做了一点微小的贡献。
450
AUTOSYS168
文章数:269
年度积分:450
历史总积分:450
品牌积分(施耐德):284
注册时间:2019/10/29
发站内信
发表于:2019/11/14 17:50:38
#3楼
办法比困难多,好方法表情
工控学堂推荐视频:

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

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

140.4