因為每次寫到都會忘記,我是用很土炮的寫法,如果有更好的寫法,歡迎提供,其實我的想法很簡單,我需要的是 一個很大的金額 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("#,###,###,####");
}
}
筆記一下,不然每次都忘記