我有一个参数价格,它是十进制类型,它可以有一个正值,负值和零值。该值永远不会有小数,但需要显示小数。将正负值和零值格式化为小数点后2位格式
虽然我解析小数,它处理0和> 0值,但不处理负值。我如何处理所有3在一个解析操作?
decimal.Parse(a.price.ToString("##.00"), NumberStyles.AllowDecimalPoint)
我需要转换数据以显示在欧洲文化中,所以-3.00的值应该显示为-3,00。
这里是我想,这让我
var culture = CultureInfo.GetCultureInfo("nl-NL");
Price = a.GroupId == g ? decimal.Parse(a.BidPrice.ToString("##.000", culture), NumberStyles.Number) : decimal.Parse(decimal.Zero.ToString("##.000", culture), NumberStyles.Number)
型“System.FormatException”的第一次机会异常出现在mscorlib.dll
更多信息的异常:输入字符串的不以正确的格式。
添加一些测试数据,
3 should show up as 3,00
-3 should show up as -3,00
0 should show up as 0,00
编辑 默认文化是EN-GB
这似乎很奇怪..你有小数,并且你对它做了“ToStirng”,只是为了解析它回到十进制?你想要达到什么目的? – Botis
http://stackoverflow.com/questions/2569166/converting-negative-decimal-to-string-loses-the – slavoo
和生活一样奇怪是我的朋友,我需要小数来携带小数,这就是我的系统传递数据以接受值。 –