簡體   English   中英

替換出現數值的字符串 (1000000) 應采用十進制格式,如 (1,000,000.00)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM