我刚刚开始使用面向对象的编程。我有这个功课,我必须生成以下输出
$ 1215,51
我的程序返回1215.50625
这是我的代码,其中a
是我正在打印的数字(双)
txtRe.Text += "Après " + CStr(i) + " ans " + " ==>" + CStr(a) & Environment.NewLine
答案 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)