C# 编程来实现 ----数字转换成定长字符串

liysky 2009-08-14 05:49:07
怎么通过 C# 编程来实现 ----数字转换成定长字符串??? 不能用函数直接转!!
...全文
482 42 打赏 收藏 转发到动态 举报
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
liysky 2009-08-14
  • 打赏
  • 举报
回复
彻底明白 谢谢!芥子。。。可以把你QQ给我吗 ? 呵呵 以后有问题方便请教你!
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
当然,长度超出的话,还是按原样输出的,没有截断。
比如:

ConvertToString(1234,3)照样输出“1234”。
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
len是你要求输出的字符串长度。


while(sb.Length <len)
sb.Insert(0,(char)48);


如果长度不够,在前面补“0”。
liysky 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 dancingbit 的回复:]
先生,同志,一个是int,一个是string,能说一样么?
看起来一样代表就是一样么?

要不你试试ConvertToSting(67,8)看看会返回什么。
[/Quote]

哥们 , 那我就不明白你的len了 是表示要想输出的字符串长度吗?? 我以为是int的长度? 请说明一下
while(sb.Length<len)
sb.Insert(0,(char)48);
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
先生,同志,一个是int,一个是string,能说一样么?
看起来一样代表就是一样么?

要不你试试ConvertToSting(67,8)看看会返回什么。
liysky 2009-08-14
  • 打赏
  • 举报
回复
芥子 麻烦你运行一下看看
liysky 2009-08-14
  • 打赏
  • 举报
回复
运行结果 跟你传过去的int数字一样 肯定不对吧?
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 33 楼 liysky 的回复:]
你运行一下结果  好像不对  比如 用 tToString(55566,5)
运行结果好像 是  55566
[/Quote]
这有问题么?
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 liysky 的回复:]
好像运行结果有问题啊
[/Quote]
不会吧?我验证过的。难道又是我RPWT?
把问题详细说说。
liysky 2009-08-14
  • 打赏
  • 举报
回复
你运行一下结果 好像不对 比如 用 tToString(55566,5)
运行结果好像 是 55566
liminglau 2009-08-14
  • 打赏
  • 举报
回复
也来学习学习下
十八道胡同 2009-08-14
  • 打赏
  • 举报
回复
啥问题?
liysky 2009-08-14
  • 打赏
  • 举报
回复
好像运行结果有问题啊
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
本来早应该贴出这段来的,但我已经连续回了3个了...
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
低级错误啊低级错误:


static string ConvertToString(int x,int len)
{
int d=x;
StringBuilder sb=new StringBuilder();
while(d>0)
{
char dx=(char)(d%10+48);
sb.Insert(0,dx);
d=d/10;
}
while(sb.Length<len)
sb.Insert(0,(char)48);
return sb.ToString();
}

已验证版本。
liysky 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 dancingbit 的回复:]
想了一下,还是应该是char的,不应该是byte。去验证看看。
[/Quote]

哥们 到底是怎么对的啊 ? 怎么又不是byte了呢 ? 能给我正确的答案吗? 谢了

用你之前的代码没问题吧?
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
string s="";
for(int i=0;i<sb.Length;i++)
{
s+=sb.Chars[i];
}


大概就是这个样子的吧。
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 pcnetman888 的回复:]
芥子的速度还真快啊~~

只不过最后还是ToString了一把 ^_
return sb.ToString();

给你出点题~~
能否再改进一步.
实现得更"原始"一点....

[/Quote]
字符串连接倒也可以做到,懒得那样做,何况LZ说的是算法...
dancingbit 2009-08-14
  • 打赏
  • 举报
回复
想了一下,还是应该是char的,不应该是byte。去验证看看。
微创社(MCC) 2009-08-14
  • 打赏
  • 举报
回复
芥子的速度还真快啊~~

只不过最后还是ToString了一把 ^_
return sb.ToString();

给你出点题~~
能否再改进一步.
实现得更"原始"一点....
加载更多回复(21)

110,533

社区成员

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

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

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