搬家第三天-50.Wincc V7.3 使用c脚本时需要注意一下数据类型

我们在使用wincc时,有时需要写c脚本,我们先来看一段简单的c脚本:

float a;
a=2/3;
SetTagFloat("C_C",a);

运行后,C_C变量值为0.0,但我们预计应该是0.66666666这样子才对。这是因为2/3首先是当成了整数除法,结果为0,再转换成float。我们稍作修改:

float a;
a=2.0/3;
SetTagFloat("C_C",a);

我们可以编译检查一下,系统提示conversion may lose information的警告,这是说转化后会丢失信息,如果不理会,那么C_C变量值为0.6666667,结果满足我们的要求。

我们可以再稍作修改:

double a;
a=2.0/3.0;
SetTagDouble("C_C",a); 

这次编译,既没有错误也没有警告信息,运行结果C_C变量为0.6666667

 

从上面实验可以看出,c脚本中有四则混合计算时,一定要注意数据类型,尤其是常数书写时的数据类型,为了避免警告信息,可以把数据类型都定义成double。

posted @ 2021-01-31 10:31  来自金沙江的小鱼  阅读(1271)  评论(0编辑  收藏  举报