龙空技术网

数据类型引发的故障,整形赋值给浮点型

山东王建设 861

前言:

如今兄弟们对“mysql浮点型转换为整形”都比较着重,姐妹们都想要学习一些“mysql浮点型转换为整形”的相关内容。那么小编在网络上汇集了一些有关“mysql浮点型转换为整形””的相关知识,希望大家能喜欢,我们一起来了解一下吧!

“王工,我的减法指令的计算结果怎么不正确,20减2.0怎么等于-2.0。”

问题图片

当时正在赶车,根据他微信发的截图,从原理上分析存在两种可能性:

1、 变量多次赋值,在此处计算时的值为0.0,到后面又被赋值为20,监控显示的是最后赋值的结果;

2、 变量赋值类型错误,赋值为整形的20而不是浮点型20.0,整形的20按浮点数显示的话是0.0;

检查方法:

如果是地址重复使用,多次赋值,对地址交叉参考一下就能发现。如果赋值的数据类型错误,需要检查传入数据的变量的类型

朋友针对这两种情况检查发现,是上位机WINCC赋值的时候,写入类型错误导致。

总结:

编程的时候尽量按照IEC的规范要求,定义正确的数据类型。如果程序按标准化和规范化编制,就不会出现类似的问题。在未执行IEC检查的时候,我们往往不太注意WORD类型和int类型的变量、整数直接和浮点数运算的程序,虽然大多数时候结果不会出错,但这就是在给后面挖坑,终有一天会把自己陷进去。

1、为什么REAL类型中写入十进制的0浮点数显示为0.0,而写入十进制的20浮点数也显示为0.0呢?

2、如何写不规范数据类型的程序,让别人无法用LAD查看[奸笑]

标签: #mysql浮点型转换为整形