1

我正在创建一个简单的控制台应用程序,该应用程序将 PI 的值显示到一定的小数位数。目前,我编写了以下代码:

namespace PIApplication
{
  static void Main()
  {
    decimal Pi = Math.PI;
    Console.Writeline("Pi is {0}.", PI);
  }
}

我使用的原因{0}是我知道这种方法适用于布尔值,但我只能假设应该将 0 更改为其他值。有人可以解释这在我的情况下如何工作吗?

此外,我收到系统无法将双精度类型转换为十进制的错误。我假设这指的是定义为 PI 的值。我需要做什么才能将它从一种类型转换为另一种类型?我什至必须这样做吗?

提前感谢所有帮助。

4

3 回答 3

2

这就是常量PI在中定义的方式System.Math

public const double PI = 3.14159 

尝试:

    static void Main(string[] args)
    {
        double Pi = Math.PI; 
        Console.WriteLine("Pi is {0}.", Pi); 
    }

Decimal:与浮点类型相比,decimal 类型的精度更高,范围更小,适用于金融和货币计算。

于 2011-01-03T10:26:23.960 回答
1

无需存储 PI,除非您想以给定的精度存储它。

int givenPrecision = 10;
Console.WriteLine("Pi is {0}.", Math.PI.ToString("0." + new String('#', givenPrecision)));

这将给出 3.1415926536。

于 2014-09-04T15:07:16.543 回答
0

显式转换??

 namespace PIApplication{
  static void Main()
  {
    decimal Pi = (decimal)Math.PI;
    Console.Writeline("Pi is {0}.", Pi);
  }
}

强调文本

于 2011-01-03T10:26:31.377 回答