private static void GeneralPiCalc ()
{
const int count = 100;
const int zero = 0;
decimal pi = 0m;
for (int i = zero; i <= count; i = i + 2)
{
decimal d = (decimal)i;
if (i % 4 == 0)
{
pi = pi + 4 / ((d + 2) * (d + 3) * (d + 4));
}
else
{
pi = pi - 4 / ((d + 2) * (d + 3) * (d + 4));
}
}
Console.WriteLine ("Pi is {0:D}", (3 + pi));
Console.ReadLine ();
}
这是我的程序的代码。它不断给出:
System.FormatException:格式说明符无效。
at System.Number.FormatDecimal(十进制值,字符串格式,NumberFormatInfo信息)
在System.Decimal.ToString(String format,IFormatProvider provider)
在System.Text.StringBuilder.AppendFormat(IFormatProvider提供程序,字符串格式,对象[] args)
在System.String.Format(IFormatProvider提供程序,String格式,Object [] args)
在System.IO.TextWriter.WriteLine(String format,Object arg0)
在System.IO.TextWriter.SyncTextWriter.WriteLine(String format,Object arg0)
在System.Console.WriteLine(String format,Object arg0)
在&gt; c:\ Users \ owner \ Documents \ Projects \ PiCalc \ PiCalc \ Program.cs中的PiCalc.MainClass.GeneralPiCalc()中:第33行 在PiCalc.MainClass.Main(String [] args)中的c:\ Users \ owner \ Documents \ Projects \ PiCalc \ PiCalc \ Program.cs:第10行
答案 0 :(得分:2)
根据documentation on Decimal.ToString()
,小数没有D
格式说明符。
format参数可以是任何有效的标准数字格式说明符,但 D ,R和X除外,以及自定义数字格式说明符的任意组合。
您可以查看documentation on standard numeric format specifiers以查看decimal
支持格式化的内容