Как я могу показать десятичное в текстовом поле?
Вопрос
Я создаю простое приложение для консоли, которое показывает значение 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);
}
}
подчеркнутый текст