1234154341 从末尾开始每隔三位添加一个,用正则表示 ,C#实现 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 \d{3}RegexOptions.RightToLeft void Main(){ string str="1234154341"; int temp=str.Length%3; if(temp==0) { var query=Regex.Split(str,@"(?<=\G\d{3})"); str=string.Join(",",query.ToArray()); } else { var query=new string[]{str.Substring(0,temp)}.Concat(Regex.Split(str.Substring(temp),@"(?<=\G\d{3})")); str=string.Join(",",query.ToArray()); } Console.WriteLine(str.TrimEnd(',')); //1,234,154,341} 这问题用正则实在是太浪费资源了...1234154341.ToString("0,000")int.Parse("1234154341").ToString("0,000") 本帖最后由 lxcnn 于 2011-05-05 18:01:38 编辑 string test = "1234154341.34234234"; Regex reg = new Regex(@"(?=(?:\d{3})+\b)(?<!\.\d*)"); string result = reg.Replace(test, ","); Console.WriteLine(result);其实我第一次选择的就是vrhero的方法。可惜的是带小数的时候 double i = 4434323423403.343434; Console.WriteLine(i.ToString("0,000.00"));后面的小数不知道该怎么处理才能完全显示出来 厄...楼主又没说小数...再说double的最大精度不过17位,decimal的最大精度不过29位...多写些#又不影响性能,30个#足够应付所有小数了...1234154341.34234234.ToString("0,000.##############################") string str = "1234154341"; Regex reg = new Regex(@"(\d{3})", RegexOptions.RightToLeft); Response.Write(reg.Replace(str, ",$1"));//1,234,154,341 想使用委托函数代替Console.Readline(),下面的程序错在什么地方? Hook HttpSendRequest 997 TreeView 只展开指定层数 反射引用的dll,有时能找到,有时就找不到。 请教各位网页开发专家?用C#2008做好的程序界面如何发布在网上 datagridview的keydown事物为什么不能触发 小问题 如何实现能够对事件响应的类 我有一个C#的Winform项目,里面有许多的程序代码....丢了.sin文件可以新建一个添加现有项目搞定,可是丢了csproj文件,怎么办呀?/ vs2003水晶报表插入图片 高手,大拿 ,大牛 ,展现你们的时候到了 ,小弟遇到问题 ,恳求各位帮忙啊 。眼泪啊 ,先谢谢各位了 ,不会的也可以来捧场 Excel导入数据库
RegexOptions.RightToLeft
void Main()
{
string str="1234154341";
int temp=str.Length%3;
if(temp==0)
{
var query=Regex.Split(str,@"(?<=\G\d{3})");
str=string.Join(",",query.ToArray());
}
else
{
var query=new string[]{str.Substring(0,temp)}.Concat(Regex.Split(str.Substring(temp),@"(?<=\G\d{3})"));
str=string.Join(",",query.ToArray());
}
Console.WriteLine(str.TrimEnd(','));
//1,234,154,341
}
1234154341.ToString("0,000")
int.Parse("1234154341").ToString("0,000")
Regex reg = new Regex(@"(?=(?:\d{3})+\b)(?<!\.\d*)");
string result = reg.Replace(test, ",");
Console.WriteLine(result);其实我第一次选择的就是vrhero的方法。可惜的是带小数的时候
double i = 4434323423403.343434;
Console.WriteLine(i.ToString("0,000.00"));
后面的小数不知道该怎么处理才能完全显示出来
1234154341.34234234.ToString("0,000.##############################")
Regex reg = new Regex(@"(\d{3})", RegexOptions.RightToLeft);
Response.Write(reg.Replace(str, ",$1"));
//1,234,154,341