[C#] 關於 Decimal 轉 字串 有逗點跟小數點後面的處理

2018-08-27

因為每次寫到都會忘記,我是用很土炮的寫法,如果有更好的寫法,歡迎提供,其實我的想法很簡單,我需要的是 一個很大的金額 decimal 舉例像是 12345678901234.123456789 但是我要得到的答案是 12,345,678,901,234.123456789 ,小數點以前要加上逗點,小數點後面有多少show 多少不要進位,也不要捨去,畢竟,在幣的世界常常一衝 就是 0.000000001   不多說了 直接上 Code

decimal t1 = 123456.12345M; decimal t2 = 123456.12345M; decimal t3 = 12345678901234.123456789M; Console.WriteLine(t1.ToString("#,###,###.###")); //123,456.123 Console.WriteLine(t2.ToString("#,###,###.####")); //123,456.1235 Console.WriteLine(t3.ToString()); //12345678901234.123456789 Console.WriteLine(GetMoneyString(t3)); //12,345,678,901,234.123456789 Console.ReadLine();

上述的 GetMoneyString

public static string GetMoneyString(decimal number) { if (number.ToString().Contains(".")) { var format = "#,###,###,####."; var tmpDot = number.ToString().Split('.')[1]; for (var i = 0; i < tmpDot.Length; i++) { format += "#"; } return number.ToString(format); } else { return number.ToString("#,###,###,####"); } }

筆記一下,不然每次都忘記


當麻許的碎念筆記 2014 | Donma Hsu Design.