![](/img/trans.png)
[英]Formating programmatically Excel cells from Scientific numeric to Text with C#
[英]Add numeric strings in C# and preserve formating
我有一個問題,我需要添加兩個數字字符串“ $ 1,234.56”和“ $ 9,876.54”並獲得字符串“ $ 11,111.10”
我可以將字符串轉換為數字,執行加法運算,但是我不知道在ToString()結果保留格式的好方法。 我可以沿行添加幾個if語句:輸入中是否包含美元符號,小數點,百分號並相應地構造格式字符串,但這很笨拙,如果我們需要支持多個數字格式,它將失敗。
有誰知道如何添加數字字符串並保留格式?
編輯:回答問題。 在給定時間添加的所有字符串的格式是相同的,即:我不必擔心添加$和£(實際上目前不支持£),但是,當前支持幾種可能的格式,並且將來可能會添加更多:
$ 1,234.00; $的1,234; 1234; 1,234; 1,234.00; 1234%; 1234%; 1,234.00%
我建議使用第一個數字字符串作為模板,並從中創建數字格式:
var posshalves = firstNumericString.Split('.');
var fmthalves = new string[2] { posshalves[0], (posshalves.Length < 2 ? "" : "."+posshalves[1])};
var intfmt = Regex.Replace(fmthalves[0], @"[0-9]", "#");
intfmt = Regex.Replace(intfmt, @"#+", "#");
var decfmt = Regex.Replace(fmthalves[1], "[0-9]", "0");
var format = $"{intfmt}{decfmt}";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.