为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
牧羊人nacy 2023-08-20 09:55:04
输入:“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));    }}
查看完整描述

3 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

搜索字符串中的数字并将其替换为新格式


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)));            

}


查看完整回答
反对 回复 2023-08-20
?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

你可以这样做。测试是否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));

    }

}


查看完整回答
反对 回复 2023-08-20
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

String.Format("{0:0,0.00}", 12345);     // "12,345.00"

似乎正是您所需要的。


查看完整回答
反对 回复 2023-08-20
  • 3 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信