也許:
int n = 3;
string format = String.Format("{{0:0.{0}}}", new string('0', n));
Console.Write(String.Format(format, 123.4567)); // 123,457
的方法:
public static string FormatNumber(double d, int decimalPlaces)
{
string format = String.Format("{{0:0.{0}}}", new string('0', decimalPlaces));
return String.Format(format, d);
}
或者更簡單,使用ToString
+ N
format specifier:
public static string FormatNumber(double d, int decimalPlaces)
{
return d.ToString("N" + decimalPlaces);
}
如果你不想默認回合荷蘭國際集團的行爲,但你只是想截斷剩餘的小數位:
public static string FormatNumberNoRounding(double d, int decimalPlaces)
{
double factor = Math.Pow(10, decimalPlaces);
double truncated = Math.Floor(d * factor)/factor;
return truncated.ToString();
}
可以在不捨去數字的情況下完成嗎? – Saket 2014-09-26 13:49:40
@Saket:看看。 – 2014-09-26 14:00:00
謝謝,男人..! – Saket 2014-09-26 14:07:52