[英]Replace a string where a numeric value occurs(1000000) should be in decimal format like(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));
}
}
检查我的代码我搜索字符串中的数字并将其替换为新格式
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)));
}
你可以这样做。 测试该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"
似乎是你所需要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.