如何按格式转换价格

时间:2010-08-24 10:41:11

标签: c# javascript e-commerce format

我遇到了定价问题。 我需要将价格输入格式设置为XXXX.YY类型 问题是,输入价格可能是欧洲的形状XXX,YY或XX,XXX.YY,如果谈论大数字。

是否有JS或C#lib可以帮助那里?

感谢

3 个答案:

答案 0 :(得分:2)

在处理货币值时,您应该使用Decimal.Parse而不是Double.Parse。 (Decimal类型减少了舍入错误的可能性等。)

从MDSN回答有关不同文化货币格式的问题:

  

使用。解析参数s   格式化信息   NumberFormatInfo初始化为   当前的制度文化。更多   信息,请参阅CurrentInfo。要解析   使用格式的字符串   其他一些文化的信息,使用   Decimal.Parse(String,   IFormatProvider)或   Decimal.Parse(String,NumberStyles,   IFormatProvider)方法。

如果您不知道,.NET框架会自动从操作系统的当前区域设置中获取“当前系统文化”。在Windows中,计算机用户可以在“区域设置”中查看/更改此类信息。

答案 1 :(得分:1)

美国/英国格式:

Double.Parse("123,456.78", new CultureInfo("en-US"));

代表德语格式:

Double.Parse("123.456,78", new CultureInfo("de-DE"));

提示:如果您正在从文件/数据库等存储/读取数据,通常建议使用CultureInfo.InvariantCulture

答案 2 :(得分:0)

Double.Parse("123,456.78")

将在C#中工作

http://msdn.microsoft.com/en-us/library/7yd1h1be.aspx

然后将其转换为您想要的格式:

String.Format("£{0:##.##}", number);