在.NET中反序列化JSON字符串时出现的小数点格式问题

时间:2012-08-18 03:54:37

标签: c# .net serialization deserialization

如果客户端将{f:“1,00”}传递给服务器以使用以下.NET Object进行反序列化,则会出现转换错误,框架无法将其识别为有效的十进制值。客户端位于“ id-id ”区域设置中,因此“1,00”实际上是十进制的“1.00”。

我可以告诉框架使用正确的数字格式化程序来解决我的问题吗? 感谢。

using System.Runtime.Serialization;

[DataContract]
public class EntryParameter
{
    [DataMember(Name = "f")]
    public decimal Foo { get; set; }

1 个答案:

答案 0 :(得分:1)

您也可以尝试此解决方案以确保将小数识别为特定格式

value = "1,00";
   style = NumberStyles.AllowDecimalPoint;
   culture = CultureInfo.CreateSpecificCulture("fr-FR");
   if (Decimal.TryParse(value, style, culture, out number))
   {
       decimal topaas=number;
   }