顾乔芝士网

持续更新的前后端开发技术栈

1200PLC的实数数据类型是6位小数,如何保留2位或者3位呢?

如何选择保留小数位数?

在上次歌中讲到了模酿的编程,模酿的食指显示的是零点六二九八五八,如果只想保留两位小数怎么办?应该如何写这个程序?保留两位,思路是什么?让它乘以一百,乘以一百之后变成多少?六十二点九,此时取整是不是就变成六十二了?等它变成六十二之后再除以一百是不是就变成零点六二了?此时是不是就保留住两位小数的?这是编程思路。

先让它乘以一百变成六十二点九八八五八,然后再取整就变成六十二,再除一百就变成零点六二了。带着这个思路来尝试着做一做。

·首先要让这个数乘一百,乘一百用什么指令?用乘法指令。乘法指令什么?m、u、l乘法。让谁乘一百?让m、d二十四乘以一百。乘一百给到谁?比如给到m、d二十八,它就是乘以一百之后的数据了。

·然后再让它取整,取整在这有run的取整,第二个run的指令把m、d二八取整之后给到谁?给到m、d三十二,m、d三十二就是一个整形数据类型。

·现在下载一下程序看一看是不是如所想的一样。下载程序还有一部没有完成的,先看取整指令能否完成要求。它的显示修改视频显示格式为使劲值,六十三,是不是显示的是六十三?是不是同学们六十三?现在如果要除以十是不是就可以搞定了?除以十是多少?除以十用什么指定?用div、d、i、v。

但是在用div之前同学们想一下,在这可不可以做隐私的?m、d三十二除以十点零,想除以十点零给到谁?给到m、d三十六,这样直接写行不行?试一试,应该是如果可以做饮食转换就是可以的,如果不可以还需要进行进数据类型的转换,把它转成实数再除以十,这不可以的,没有搞定。

为什么?因为双整形是没有不保留小数的,所以在这个部之前还需要调用一个cover指令c、o、n、v。调用c、o、n、v干什么?把m、d三十二转换为多少?int,转换为m、d三十六。m、d三十六定义它为real数据类型,m、d三十六是real数据类型,这个没有变成。

在这儿找到m、d三十六,m、d三十二是int,m、d三十六是real改好数据类型,这个就是m、d三十六,int变成real,然后再拿md三十六除以十就可以,md三十六除以十给到md四十,md四十除以十除一百,应该除以一百,除以一百,现在下载就应该实现保留两位小数了,这就是p l c的保留小数位数的编程,现在这个就是零点六三了,后边小数就没有了,这就是如何保留小数。

如果想保留三位就这乘一千除一千就可以了。问题是知道如何做一个保留小数的酷吗?可以尝试着自己做一个试一试。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言