[英]What's the quickest/best way to format a ?double to currency for string output in C#?
[英]Quickest/Best way to Format a string
我知道這看起來似乎是一個初級問題,通過谷歌搜索它應該很容易找到解決方案,但我被卡住了。
我正在使用C#。
我有這個字符串:
20150824100112345(例如)
我希望將它轉換為一個新的字符串,如下所示:
2015 \\ 08 \\ 24 \\ 10 \\ 00 \\ 01 \\ 12 \\ 345
我可以使用“1-liner”代碼來實現這一目標嗎?
NB沒有第一次將其轉換為日期時間格式
如評論中所述,您應該將其解析為DateTime,然后將其轉換為字符串。
但是要按照你的要求解析一個字符串,你應該使用一個可以將它分成組的正則表達式。
如果您不想先解析DateTime(即如果您不關心有效性)並且輸入始終被格式化為您的示例(零填充,那么08
而不是8
),您可以使用一些簡單的Substring()
調用:
string input = "20150824100112345";
string output = input.Substring(0, 4) + @"\" // 2015
+ input.Substring(4, 2) + @"\" // 08
+ input.Substring(6, 2) + @"\" // 24
+ input.Substring(8, 2) + @"\" // 10
+ input.Substring(10, 2) + @"\" // 01
+ input.Substring(12, 2) + @"\" // 12
+ input.Substring(14, 3); // 345
或者在Regex中:
string input = "20150824100112345";
string output = Regex.Replace(input,
"([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{3})",
@"$1\$2\$3\$4\$5\$6\$7");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.