2017-06-19 71 views
0

我有一個十進制數下面的字符串轉換:轉換小數美分,至字符串歐元

String.Format("€ {0:0.00}", 4610.00) 

但給我的時候4610.00實際上我需要46,10(給出的十進制是仙)

我已經嘗試了字符串格式化程序的一些變化,但到目前爲止不能獲得給定美分的歐元值,我只需要除以100,然後格式化或有更好的方法嗎?

我該如何轉換它,以便獲得美分的歐元表示而不是給定小數的直接格式?

+0

這有什麼與格式。你有美分,你想要歐元。除以100.然後格式化。 – oerkelens

+0

您需要將4610美分換算爲歐元? .net如何知道歐元和美分之間的轉換率?您需要使用'var euros = 4610/100;'等公式進行手動轉換,然後以任何您想要的格式顯示歐元。 –

+0

這是非十進制數字的十進制表示形式。使用'decimal'數據類型來確保你不會被浮點數咬住。 – spender

回答

0

您缺少一個計算。 String.Format僅用於格式化字符串,不能將美分更改爲歐元。

Console.WriteLine(String.Format("€ {0:0.00}", 4610.00m/100)); 

46.10€

+0

爲了所有這一切的美好:請'4610.00M'。貨幣和IEEE浮點表示不混合。貨幣使用'decimal'數據類型。 – spender

相關問題