2015-10-07 40 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

你似乎是使用美國或英國當前區域性(因此在結果小數點,而不是一個逗號,而這一點正是用法語)。但是,如果您只是簡單地將文化設置爲法語並嘗試使用標準貨幣格式化程序,那麼它可能會拋出歐元符號,並且這會在數字值之後。最簡單的方法是使用法國文化(獲取逗號而不是小數點)並手動輸入'$'符號,將您的double值轉換爲定點符號。

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)