2015-10-07 3 views
-1

Я только начинаю с объектно-ориентированного программирования. У меня есть это домашнее задание, где я должен генерировать следующий выводНомер формата с валютой и двумя цифрами

$ 1215,51

и моя программа возвращает 1215.50625

Это мой код, где a это число (двойное) Я печать

txtRe.Text += "Après " + CStr(i) + " ans " + " ==>" + CStr(a) & Environment.NewLine 

ответ

0

Вы можете использовать:

value.ToString("C2") 

или после кода:

txtRe.Text += "Après " + i.ToString("C2") 

или даже:

 Dim value As Double = 12345.6789 
    Console.WriteLine(value.ToString("C", CultureInfo.CurrentCulture)) 
    Console.WriteLine(value.ToString("C2", CultureInfo.CreateSpecificCulture("fr"))) 
+0

Большое спасибо за помощь! Я использовал его, и это сработало. Однако можно объяснить, что означает C2? – Natally

+0

Валюта, 2 знака после запятой. Вы можете увидеть здесь все объяснение: https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx ... И, поскольку это помогло вам, проголосуйте, если вы думаете, что я Заслуживать это. :) Удачи –

0

Вы, кажется, используют США или британскую текущую культуру (отсюда и десятичную точку в вашем результате, а не запятую, что и является используется на французском языке). Однако, если бы вы просто настроили культуру на французский язык и попытались использовать стандартный форматировщик валют, это, скорее всего, выкинет символ евро, и это будет после вашего числового значения. Простейшими способами было бы использовать французскую культуру (чтобы получить запятую вместо десятичной точки) и вручную ввести символ «$», преобразуя двойное значение в нотацию с фиксированной точкой.

Dim frenchCulture As New CultureInfo("fr-FR") 
Dim result As String = "$" & a.ToString("f2", frenchCulture) 
0

Вы должны использовать string.Format и изменения культуры, когда это необходимо (Ej: если вы используете французскую культуру, и вы хотите, символ $).

//without culture 
String.Format("Après {0} ans ==> {1:C2} {2}", i, a, Environment.NewLine) 

//with culture 
CultureInfo culture = new CultureInfo(cultureName); 
String.Format(culture ,"Après {0} ans ==> {1:C2} {2}", i, a, Environment.NewLine) 

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

  • Нет связанных вопросов^_^