没看懂你的意思!
public static string Makemoney(double moneynum)
{
return String.Format("¥{0:###,###.##}", moneynum);
}
string.format("¥{0:C}",金额)
你的js的效果应该是对数字加千分符号吧!
用这个试试
string.Format({0:N}",money)
money.ToString("c")
这段代码本身的难点是这里
while(re.test(moneynum)){
moneynum=moneynum.replace(re,"$1,$2");
}
当re.test(moneynum)条件成立时,以test正则匹配出来的子匹配"$1,$2"来置换目前的re这个正则表达式,replace技术后继续做re.test(moneynum)检查,如果成立继续替换,知道条件不满足然后返回结果。
在C#中没办法直接类似C#的做法,个人觉得可以借助Matches来处理,比如如下来处理:
public string makemoney(string moneynum)
{
string rtnMoneynum = string.Empty;
//var re=/(-?\d+)(\d{3})/; while(re.test(moneynum)){ moneynum=moneynum.replace(re,"$1,$2"); } return moneynum;
Regex reg = new Regex(@"/(-?\d+)(\d{3})/");
MatchCollection mc = reg.Matches(moneynum);
//然后在此处循环处理具体的子匹配
return rtnMoneynum;
}