码迷,mamicode.com
首页 > 其他好文 > 详细

X++ StrFix方法

时间:2020-06-19 15:54:42      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:问题   char   code   pad   int   static   style   方法   class   

Global类里提供了两个方法strRFix和strLRfix,方法的实现如下:

1 static str strRFix(str _str, int _length, char _char =  )
2 {
3     return strRep(_char, _length - strLen(_str)) + subStr(_str, 1, _length);
4 }
5 static str strLFix(str _str, int _length, char _char =  )
6 {
7     return subStr(_str, 1, _length) + strRep(_char, _length - strLen(_str));
8 }

我一直理解这个这两个方法是用来补位的,就是某个字符串长度如果不够某个长度,就用某个字符补齐到这个长度,跟C#的字符串方法PadLeft和PadRight是一样的。
实际上用了这么多年也一直是没问题的,所以也从来没去看这个方法的源码和方法说明。
直到最近遇到一个情况,传入的字符串的长度小于了指定的长度,C#里的PadLeft和PadRight的逻辑是如果遇到这种情况是直接返回源字符串的。
而X++里的StrRFix和strLFix的逻辑是如果遇到这种情况,它就变成subStr了。
所以常用的方法,还是要看方法说明,不能想当然,不过这个strRFix和strLFix搞成这样也是醉了,你一个方法就干一个事就得了,补位补位,截位就截位,合在一起埋个坑有意思?

X++ StrFix方法

标签:问题   char   code   pad   int   static   style   方法   class   

原文地址:https://www.cnblogs.com/Farseer1215/p/13163321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!