用C#怎么实现把数字转化成带圆圈格式的字符串 如题,例:1->① 2->②..... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己写一个转换函数呗:string Convert(int i){ switch(i) { case 1: return "①"; case 2: return "②"; //.... default: return ""; }} 你可以先把这个数字转化为字符串,然后逐个截取出来用ojlovecd 兄弟提供的switch函数来判断.然后再全部加起来 那你的数字最大到多少?Unicode字符好像没有这么多的带圆圈的字符吧 那也这样做: Int32 i = 1234; String s=i.ToString(); s=s.Replace('1', '①'); s=s.Replace('2', '②'); ... 研究ascii code 看能找到解决办法不? private void Form1_Load(object sender, EventArgs e) { double d = 12121111; label1.Text = numConvert(d.ToString()); } private string numConvert(string oldStr) { string str = oldStr; string newStr = ""; foreach (char s in str) { switch (s) { case '1': newStr += "①"; break; case '2': newStr += "②"; break; default: newStr += s; break; } } return newStr; }没有try,楼主自己完善.另附一句.你的结贴率太低...出来混不容易.及时结贴吧. public string fun(int i) { //①的ascii code int b = 9312; char c = (char)(b+i-1); return c.ToString(); } 可惜只能显示10以内的 只要得到你要的字符的ascii码就很简单的了,if(c==ascii码)执行转换 /// <summary> /// 给数字加上圆圈。 /// </summary> /// <param name="num">要加圆圈的数字。</param> /// <returns></returns> string NumAddCircle(int num) { if (num < 0) return string.Empty; //负数不处理。 if (num.ToString().Contains("0")) return string.Empty; //有0的不处理 string[] CircleNum = { "①", "②", "③", "④", "⑤", "⑥", "⑦", "⑧", "⑨" }; string resultStr = string.Empty; foreach (char str in num.ToString()) { resultStr += CircleNum[Int32.Parse(str.ToString()) - 1]; } return resultStr; } 如果数字没零的话感觉可以这样处理一下咯~~~ 那我要劳烦这位弟兄告诉我一下,带圈字符的ascii码是多少啊?随便①②③④⑤⑥⑦⑧⑨一个都行 没零???如果12345467890的话可以这么处理:retunn string.Empty 对应的ascii code: ①9312 ②9313 ③9314 .... ⑪ 9322 ①-⑩字体系统会默认安装.10以上要下裁字体. /// <summary> /// 给数字加上圆圈。 /// </summary> /// <param name="num">要加圆圈的数字。</param> /// <returns></returns> string NumAddCircle(int num) { if (num < 0) return string.Empty; //负数不处理。 if (num.ToString().Contains("0")) return string.Empty; //有0的不处理 string resultStr = string.Empty; foreach (char str in num.ToString()) { resultStr += (char)(9312+Int32.Parse(str.ToString())-1); } return resultStr; }有Ascii码那写起来就简单一点了,不过这种方法不能用啊,写出来玩的,除了画图不知道可有其他方法能解决。 怎样用电脑的记事本编写应用程序? 怎样把一个软件项目 打包成 安装文件包 小问题?? office的加粗、斜体按钮怎么实现 c# 线程同步 写锁 不知应该到哪里问,是关于IP检测的 C# 2005 express edition beta1的一个bug,不敢肯定,大伙看看。 请问个简单的问题 C#如何将类按值负值 如何让ActiveX控件,能在IE64位游览器中使用 索引超出了数组界限。。。 各位高手,看一下如何提高效率? C#中long和Int64有何不同?
{
switch(i)
{
case 1:
return "①";
case 2:
return "②";
//....
default:
return "";
}
}
那你的数字最大到多少?
Unicode字符好像没有这么多的带圆圈的字符吧
String s=i.ToString(); s=s.Replace('1', '①');
s=s.Replace('2', '②');
...
{
double d = 12121111;
label1.Text = numConvert(d.ToString()); } private string numConvert(string oldStr)
{
string str = oldStr;
string newStr = "";
foreach (char s in str)
{
switch (s)
{
case '1':
newStr += "①";
break;
case '2':
newStr += "②";
break;
default:
newStr += s;
break;
} }
return newStr;
}没有try,楼主自己完善.
另附一句.你的结贴率太低...出来混不容易.及时结贴吧.
{
//①的ascii code
int b = 9312; char c = (char)(b+i-1); return c.ToString();
} 可惜只能显示10以内的
if(c==ascii码)
执行转换
/// <summary>
/// 给数字加上圆圈。
/// </summary>
/// <param name="num">要加圆圈的数字。</param>
/// <returns></returns>
string NumAddCircle(int num)
{
if (num < 0) return string.Empty; //负数不处理。
if (num.ToString().Contains("0")) return string.Empty; //有0的不处理
string[] CircleNum = { "①", "②", "③", "④", "⑤", "⑥", "⑦", "⑧", "⑨" };
string resultStr = string.Empty;
foreach (char str in num.ToString())
{
resultStr += CircleNum[Int32.Parse(str.ToString()) - 1];
}
return resultStr;
}
如果数字没零的话感觉可以这样处理一下咯~~~
随便①②③④⑤⑥⑦⑧⑨一个都行
retunn string.Empty
/// <summary>
/// 给数字加上圆圈。
/// </summary>
/// <param name="num">要加圆圈的数字。</param>
/// <returns></returns>
string NumAddCircle(int num)
{
if (num < 0) return string.Empty; //负数不处理。
if (num.ToString().Contains("0")) return string.Empty; //有0的不处理
string resultStr = string.Empty;
foreach (char str in num.ToString())
{
resultStr += (char)(9312+Int32.Parse(str.ToString())-1);
}
return resultStr;
}
有Ascii码那写起来就简单一点了,不过这种方法不能用啊,写出来玩的,除了画图不知道可有其他方法能解决。