C#如何格式化字符串,用占位符!

yasire 2009-10-19 09:34:23
我问的是将字符串已一个格式输出,请不要说日期,小数等类型的。

比如说一个字符串是"abcd",则显示"00abcd" ,也就是说字符串格式是"000000"。
如果超过6位,则按原样显示,不足的补0.

驻:如果类型是double,int等类型的,直接value.ToString("000000")就可以了。

但是现在要处理的是字符串string类型的,很奇怪String.Format("{0:000000}",value);不起作用。

要怎么做啊?
...全文
1012 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanhuiqiao 2009-10-19
  • 打赏
  • 举报
回复
PadLeft(Int32, char) ,真解决不了?
_see_you_again_ 2009-10-19
  • 打赏
  • 举报
回复
string a="000111";
"abcd".PadLeft(6, a[0]);
a="111000";
"abcd".PadLeft(6, a[0]);
始终取第一位字符
SQL77 2009-10-19
  • 打赏
  • 举报
回复
PadLeft方法,
yasire 2009-10-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yangqizhong 的回复:]
string string.PadLeft(Int32, char)
右对齐此实例中的字符,在左边用指定的 Unicode 字符填充以达到指定的总长度
[/Quote]

现在这个char不固定~~~~
yangqizhong 2009-10-19
  • 打赏
  • 举报
回复
string string.PadLeft(Int32, char)
右对齐此实例中的字符,在左边用指定的 Unicode 字符填充以达到指定的总长度
yasire 2009-10-19
  • 打赏
  • 举报
回复
楼上的的确能解决部分问题。

但是问题是格式“000000”,这个东西是在数据库里读的,可能是"000111",也可能是"111000",或者其他任何形式,这要怎么办?
_see_you_again_ 2009-10-19
  • 打赏
  • 举报
回复
string s="abcd".PadLeft(6, '0');
yasire 2009-10-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yuanhuiqiao 的回复:]
PadLeft(Int32, char) ,真解决不了?

[/Quote]

这个可以解决一定的问题,解决不了char固定不变的问题。这个格式可能是"000111",等之类的,所以char不固定。再按索引拆解,就算了把~~~

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧