Как я могу показать десятичное в текстовом поле?

StackOverflow https://stackoverflow.com/questions/4583647

  •  14-10-2019
  •  | 
  •  

Вопрос

Я создаю простое приложение для консоли, которое показывает значение PI до определенного количества десятичных десятиков. На данный момент я написал следующий код:

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

Причина, по которой я использовал {0} Это то, что я знаю, что этот метод работает, когда дело доходит до логических, но я могу только предположить, что 0 следует изменить на что -то другое. Может кто -нибудь объяснить, как это будет работать в моем случае?

Кроме того, я получаю ошибку, которую система не может преобразовать тип двойного в десятичный. Я предполагаю, что это относится к значению, которое определяется как PI. Что я должен сделать, чтобы преобразовать его из одного типа в другой? Мне даже нужно?

Заранее спасибо за помощь.

Это было полезно?

Решение

Вот как постоянная PI определяется в System.Math:

public const double PI = 3.14159 

Пытаться:

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

Десятичный: По сравнению с типами с плавающей точкой, десятичный тип имеет большую точность и меньший диапазон, что делает его подходящим для финансовых и денежных расчетов.

Другие советы

Не нужно хранить PI, если вы не хотите хранить его на заданной точности.

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

Это даст 3.1415926536.

Явно преобразовывать ??

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

подчеркнутый текст

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top