2010-12-07 2 views
1

Как настроить функцию, в которой я печатаю двойные точки? Я хотел бы, чтобы эта функция получала число цифр после десятичной точки (запятая в моей локали) в качестве атрибута, а затем печатала, например, pi с числом цифр после запятой, заданной пользователем.print double с цифрами после десятичной точки

+0

Можете ли вы опубликовать пример того, что у вас есть? – unholysampler 2010-12-07 21:36:17

ответ

5
var digits = 4; 
var myDouble = Math.PI; 

var formattedValue = myDouble.ToString("N" + digits.ToString(), 
    CultureInfo.CurrentCulture); 
+0

CultureInfo.CurrentCulture -> это необязательно – gruber 2010-12-07 22:22:54

2

String.Format может помочь вам с помощью NumberFormatInfo.NumberDecimalDigits собственности.

Пример кода из MS.

Public Shared Sub Main() 

    //' Gets a NumberFormatInfo associated with the en-US culture. 
    Dim nfi As NumberFormatInfo = New CultureInfo("en-US", False).NumberFormat 

    //' Displays a negative value with the default number of decimal digits (2). 
    Dim myInt As Int64 = - 1234 
    Console.WriteLine(myInt.ToString("N", nfi)) 

    //' Displays the same value with four decimal digits. 
    nfi.NumberDecimalDigits = 4 
    Console.WriteLine(myInt.ToString("N", nfi)) 

End Sub 
-1

Я рассказываю вам в некотором роде, что я решил аналогичную проблему в своем проекте.

Преобразовать полученное значение в строку. Так как вы используете, как пи = 3,14

String Result = "3,14"; 

использованием

Split (Char()) // использовать запятую, чтобы разделить это на массив

вы получите массив теперь массив [1] даст вам вторую часть.

Начиная с его строки, используйте функцию string.Length(), чтобы получить длину, (ничего, кроме числа цифр, которое приходит после запятой).

Теперь вы можете печатать Результирующие цифры в зависимости от того, как вы хотите

Смежные вопросы