2014-11-04 22 views

回答

0

似乎您使用的十进制格式不适用于您的应用程序中使用的文化。

解决办法有两个:
1.使用DataFormatString="{0:D}"细胞
2.尽量使用Decimal.TryParse与正确NumberStylesFormatProvider。详情请点击here

在你的情况,你应该使用FR-FR文化如下:

Decimal.TryParse(gridview.Rows [0] .Cells [0],NumberStyles.Any, CultureInfo.GetCultureInfo(“FR -FR“),out val)

+0

gridview中的格式是来自用户的请求。我对Convert.ToDecima()使用DataFormatString =“{F2}”保存的DataFormatString =“{0:#,###,## 0.00}” – SoloMax 2014-11-04 11:13:13

+0

的链接值=“1 345,978”没有问题。 (“Decimal.TryParse(value,style,culture,out number)) Console.WriteLine(”Converted'{0}'to {1}。“,value,number); else Console.WriteLine(“无法转换'{0}'。”,value); //显示器: //无法转换'1 345,978'。 – SoloMax 2014-11-04 12:23:24

+0

您应该使用fr-FR文化进行分析: Decimal.TryParse(“1 234 012,01”,NumberStyles.Any,CultureInfo.GetCultureInfo(“fr-FR”),out dec) – 2014-11-04 13:00:47

相关问题