具有N个小数位数的Double.ToString

我知道如果我们想要将一个double精度数显示为两位十进制数字,就必须使用它

 public void DisplayTwoDecimal(double dbValue) { Console.WriteLine(dbValue.ToString("0.00")); } 

但是如何将其扩展到N个小数位,其中N由用户决定?

  public void DisplayNDecimal(double dbValue, int nDecimal) { // how to display } 

使用“Nx”表示x十进制数字。

  public void DisplayNDecimal(double dbValue, int nDecimal) { Console.WriteLine(dbValue.ToString("N" + nDecimal)); } 

我会用这个:

 public string DisplayNDecimal(double dbValue, int nDecimal) { string decimalPoints = "0"; if (nDecimal > 0) { decimalPoints += "."; for (int i = 0; i < nDecimal; i++) decimalPoints += "0"; } return dbValue.ToString(decimalPoints); } 

🙂

这是StringBuilder (尽管可能效率不高,肯定需要更多资源)

 public string DisplayNDecimal(double dbValue, int nDecimal) { StringBuilder decimalPoints = new StringBuilder("0"); if (nDecimal > 0) { decimalPoints.Append("."); for (int i = 0; i < nDecimal; i++) decimalPoints.Append("0"); } return dbValue.ToString(decimalPoints.ToString()); }