带货币和两位数的格式编号

时间:2015-10-07 03:03:12

标签: .net vb.net currency-formatting

我刚刚开始使用面向对象的编程。我有这个功课,我必须生成以下输出

$ 1215,51

我的程序返回1215.50625

这是我的代码,其中a是我正在打印的数字(双)

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

3 个答案:

答案 0 :(得分: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")))

答案 1 :(得分:0)

您似乎正在使用美国或英国当前的文化(因此结果中的小数点而不是逗号,这是法语中使用的)。但是,如果您只是将文化设置为法语并尝试使用标准货币格式化程序,则可能会抛出一个欧元符号,这将在您的数值之后。最简单的方法是使用法语文化(获取逗号而不是小数点)并手动输入'$'符号,将双值转换为定点符号。

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

答案 2 :(得分: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)