zoukankan      html  css  js  c++  java
  • X++ StrFix方法

    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搞成这样也是醉了,你一个方法就干一个事就得了,补位补位,截位就截位,合在一起埋个坑有意思?

  • 相关阅读:
    bzoj1996
    bzoj2839
    bzoj1304
    bzoj1097
    bzoj4547
    bzoj3379
    bzoj3090
    树莓派/Debian 构建LAMP Web服务器并搭建WordPress博客(一)
    树莓派/Debian Apache2 配置自建 CA 实现 HTTPS(SSL) 服务
    树莓派/Debian Apache2 实现 HTTPS(SSL) 服务
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/13163321.html
Copyright © 2011-2022 走看看