首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

“SOLIDWORKS Electrical小知识”-STR和ALLTRIM函数

前言

在使用SOLIDWORKS Electrical或elecworks进行电气设计时,有时需要用户去编辑公式来满足个性化需求。

一般有以下使用场景:

1、工程配置中标注的公式编辑

2、自动生成的图纸名称的公式编辑

3、报表中列的公式编辑

每种场景可以应用的变量会有不同,但【功能】选项卡下的函数是相同的。

STR和ALLTRIM

今天我们给大家讲解其中一组经常配合使用的函数,分别是STR和ALLTRIM。

首先我们来了解下STR函数。

由于中文版中并未翻译函数的说明,根据英文我们得知STR函数的作用是将浮点数格式化成固定的精度和长度,长度不足则用空格补齐。

在示例-->结果栏列中,出现了乱码,正确的显示应该是STR(10.523)-->'        10'。其中单引号中的全部内容为结果,并不只是数字10,在10之前还有8个空格,总共10个字符。

一般我们在使用时会在函数中添加其他参数,如STR(10.523,10,0),结果:'        10',与STR(10.523)相同的结果。

在STR(10.523,10,0)中,

10.523:被处理的数

10:字符长度(若不写,默认是10)

0:精度,精确到小数点后的位数(若不写,默认是0)

在此例中,精确到小数点后0位,10.523变为10,而长度为10,需要在10前面增加8个空格补齐,最终变成'        10'。

有了空格以后,就需要将空格去掉,所以在软件内置的一些公式中我们经常看到如下用法。

下面我们来了解一下ALLTRIM函数:

根据英文说明和示例我们得知ALLTRIM函数的作用是去掉字符串开头和结尾的空格。

我们以10.523为例,在刚才的基础上加上ALLTRIM函数。

此时10前面的空格就去掉了,只剩下2个字符的10。

拓展

有没有办法只用STR函数就能实现ALLSTRIM(STR())组合函数的效果?

在瓴沃科技项目实施过程中,我们总结出了一个简单的用法。

以10.523精确到小数点后2位为例:

在我们的方法中,最重要的是将字符长度设置为1。由于STR函数的运行优先进行精度计算,将10.523变为10.52,再来计算字符长度,此时字符长度为5(小数点计算在内),大于我们设置的1,则按此时长度更长(5)的显示,若精度计算后的长度小于设置的长度,则用空格补齐。

设置为1,是因为精度计算后的长度必然大于或等于1,确保精度计算后的结果的长度是最长的,这样就不会用空格补齐,也就不需要再使用ALLTRIM函数去除空格了。

在使用STR公式的时候,我们常常会忽略空格,在可用的函数列表中,有一个函数与STR类似,但结果更容易理解,那就是STRZ函数。

以10.523精确到小数点后0位,字符长度为10为例:

由上图我们可以看到,不足的长度部分用8个数字0补齐。

总结

1、STR函数用于精确小数点位数,但有可能由于设置的长度过长,会自动加上空格补齐。

2、STR函数并无四舍五入功能,仅省去精度后面的数字。

3、ALLTRIM函数用于去除字符串开头和结尾的空格,并不能去除字符串中间的空格。

4、STR函数中的字符串长度设置为1,可不需要再使用ALLTRIM函数去除空格。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200915A0G3IL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券