2017-06-19 44 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

相关问题