php padright,C#中PadLeft,PadRight的用法

今天在遇到一个需求的时候,需要一个字符串实现自增。是根据数据库中一个自增的int类型的值,实现自增的。但是要加上前缀。比如,数据库中有一个自增的值,为,2。那么这个自增的值后面的值就位3、4、5、6、7.....100、101、102......所以我要获得 的这个字符串就要是"S0001"、"S0002"、"S0003"........"S0100"、"S0101"、"S0102"......

因为,这个"0"的数量还比较少,最一开始写的一个方法:

public stringGetSelfIncrStr()

{var shopCode = "S";var newID = 101;if (newID < 10)

{

shopCode+= $"000{newID}";

}else if (newID < 100)

{

shopCode+= $"00{newID}";

}else if (newID < 1000)

{

shopCode+= $"0{newID}";

}else{

shopCode+=newID;

}returnshopCode;

}

0的个数少,还可以这样写,如果有十个"0"或者更多的呢?这样写就不方便了。

幸好,C#中字符串有一个方法

public String PadLeft(int totalWidth, char paddingChar);

返回值:

返回一个新字符串,该字符串通过填充右对齐此实例中的字符。它们位于左侧,具有指定的Unicode字符,具有指定的总长度。

参数:

totalWidth:结果字符串中的字符数,等于原始字符串的数目,字符加上任何其他填充字符。

paddingChar:Unicode填充字符。

所以,这个方法就可以改写成如下:

public stringGetSelfIncrStr()

{var newID = 101;return "S" + newID.ToString().PadLeft(3, '0');

}

这样写起来就方便多了。

还有一个方法:

public String PadRight(int totalWidth);

static stringGetStr()

{var str = "100";return str.PadRight(5, '0');

}

这个方法得到的结果是10000。

其实,这个任务,是根据数据库中的int类型自增的值,来自增这个字符串的,这个自增的字符串还是表的主键。个人理解,这种场景还是尽量少的有吧,因为这样的设计并不好。应该从数据库表的设计和使用场景来设计。

不过这两个方法还是蛮好用的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值