Plant Simulation中快速对比大小写字母和数字

全文共1100字,1视频,预计阅读15分钟。

目录

1、介绍

2、文字对比

3、数字对比

4、视频讲解

1、介绍

在Plant Simulaiton中,编程时会遇到比较大小写字母、小数,有时候我们需要将同一字母的大小写认为是相等的,或者X位小数位的数字是相等的,那么我们可以怎么做呢?往期介绍过Plant Simulation中的运算符,大家也可以去看看其他的运算符:Plant Simulation编程语言SimTalk中的运算符

2、文字对比

方法1:将所有的字母都转换为大写/小写,然后再对比。这种方法可能是很多人用的方法,我就不详细介绍,只写个示例,大家看一下。

        //下面这行代码就是将所有的字母转为小写,再进行比较
//结果是true

print toLower("CHINA") = toLower("China")
      

方法2:使用软件自带的运算符,约等于(~=)。

这种方法是软件自带的一个运算符,在比较两个字母的时候,使用其对应的ASCII码进行比较,或者你也可以理解成是方法1的逻辑。

        print "CHINA"  = "China"   //false
print "CHINA" ~= "China"    //true
      

当然,除了比较是否相等,还可以比较大小

        print "CHINA_B" <= "China_a"
//结果true
//直接对比,ASCII中B是小于a的

print "CHINA_B" <~= "China_a"
//结果false
//使用约等于后,可以理解成B~=b>a

print tolower("CHINA_B") <= tolower("China_a")
//结果false
//使用转换小写后验证
      

3、数字比较

在比较数字的时候,有些情况我们需要认为0.11=0.10,就是忽略1位小数位后的数字(不是四舍五入),这种情况下,也有两种方法进行比较。

方法1:将数字向下取到某位,然后比较。在这种方法中就是先对数字进行处理,然后比较,有多种方法对数字进行向下取数,这里介绍一种。这里使用四舍五入的函数,变相的向下取数。大家可以测试一下。

        print round(1.55055-0.005,2)
print round(1.55955-0.005,2)
print round(1.55055-0.005,2) = round(1.55955-0.005,2)
//结果为true
      

方法2:依然使用约等于(~=)。在对数字进行比较时,这里的约等于需要设置阈值,即小于阈值的数字不进行比较。怎么设置阈值呢?大家看图,在文件-首选项/模型设置-仿真中进行设置。

v2-acfced47e39244ae977f7caaf353ac54_b.jpg

如图,我设置的阈值是0.1,即第二位小数及以后的数字在比较时,忽略不计。看下列代码:

        print 0.1 ~= 0.11
print 0.1 ~= 0.19
//以上的结果都是true
      

4、视频讲解

微信公众号同名文章

希望大家多多留言哦

weixin.qq.com/r/Dj_zq5b (二维码自动识别)

猜你喜欢

转载自blog.csdn.net/qq_30595441/article/details/105242920
今日推荐