替换出现数值的字符串 (1000000) 应采用十进制格式,如 (1,000,000.00)

输入:

“HRA 1000000 和 TDA 120000 以及其他福利”

所需的输出是:

“HRA 1,000,000.00 和 TDA 120,000.00 以及其他福利”

string input = "HRA 1000000 and TDA 120000 and other benefits"; 

string[] numbers = Regex.Split(input, @"\D+");

foreach (string value in numbers)

{

    if (!string.IsNullOrEmpty(value))

    {

        string i = (value);                      

        i = String.Format("{0:n}", decimal.Parse(i, System.Globalization.NumberStyles.Any));

    }

}


牧羊人nacy
浏览 135回答 3
3回答

芜湖不芜

搜索字符串中的数字并将其替换为新格式string strRegex = @"(\d+)";Regex myRegex = new Regex(strRegex, RegexOptions.None);string strTargetString = @"HRA 1000000 and TDA 120000 and other benefits";foreach(Match match in myRegex.Matches(strTargetString)){    strTargetString = strTargetString.Replace(match.Value,                                  string.Format("{0:n}", decimal.Parse(match.Value, System.Globalization.NumberStyles.Any)));            }

慕婉清6462132

你可以这样做。测试是否value为小数并将其替换为原始字符串。foreach (string value in numbers){    decimal number = 0;    decimal.TryParse(value, out number);    if (number > 0)    {        input = input.Replace(value, string.Format("{0:N0}", number));    }}

喵喵时光机

String.Format("{0:0,0.00}", 12345);     // "12,345.00"似乎正是您所需要的。
打开App,查看更多内容
随时随地看视频慕课网APP