string转decimail部类本机调试不报错,发布后无法添加数据,报错
string转decimail类型本机调试不报错,发布后无法添加数据,报错
开发环境和IIS服务器都是.NET 3.5环境,使用decimail.parse 或convert.todecimal 都不行,得到的是"0.5" string 类型的数据,本机转换都正常,发布了就不行了,只有小数不行,有什么解决办法吗?
------解决方案--------------------
不同的服务器数据格式设置是不同的,你可以到控制面板里面的区域设置看看
你可以参照下面的例子设置固定的NumberFormatInfo试试
C# 解析任意格式的数字字符串
在.NET中, NumberFormatInfo 类是用来设置数字格式的,有了这个类,我们就可以正确解析任意格式的数字字符串。NumberGroupSeparator 属性用来获取或设置在数值中对小数点左边数字进行分组的字符串。NumberDecimalSeparator 属性获取或设置在数值中用作小数点分隔符的字符串。下面是几个例子,通过运行例子,就可以明白其工作原理了。
C# 代码
开发环境和IIS服务器都是.NET 3.5环境,使用decimail.parse 或convert.todecimal 都不行,得到的是"0.5" string 类型的数据,本机转换都正常,发布了就不行了,只有小数不行,有什么解决办法吗?
------解决方案--------------------
不同的服务器数据格式设置是不同的,你可以到控制面板里面的区域设置看看
你可以参照下面的例子设置固定的NumberFormatInfo试试
C# 解析任意格式的数字字符串
在.NET中, NumberFormatInfo 类是用来设置数字格式的,有了这个类,我们就可以正确解析任意格式的数字字符串。NumberGroupSeparator 属性用来获取或设置在数值中对小数点左边数字进行分组的字符串。NumberDecimalSeparator 属性获取或设置在数值中用作小数点分隔符的字符串。下面是几个例子,通过运行例子,就可以明白其工作原理了。
C# 代码
- C# code
//NumberGroupSeparator : 获取或设置在数值中对小数点左边数字进行分组的字符串。 //NumberDecimalSeparator : 获取或设置在数值中用作小数点分隔符的字符串。 String num1 = "123,456,789"; String num2 = "123|456|789"; String num3 = "123.456.789"; String num4 = "123,456.789"; String num5 = "123.456,789"; System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo(); nfi.NumberGroupSeparator = ","; int x1 = int.Parse(num1, System.Globalization.NumberStyles.AllowThousands, nfi); nfi.NumberGroupSeparator = "|"; int x2 = int.Parse(num2, System.Globalization.NumberStyles.AllowThousands, nfi); nfi.NumberGroupSeparator = "."; int x3 = int.Parse(num3, System.Globalization.NumberStyles.AllowThousands, nfi); nfi.NumberGroupSeparator = ","; nfi.NumberDecimalSeparator = "."; Decimal x4 = Decimal.Parse(num4,nfi); nfi.NumberGroupSeparator = "."; nfi.NumberDecimalSeparator = ","; Decimal x5 = Decimal.Parse(num5, nfi); Response.Write("<li>" + x1); Response.Write("<li>" + x2); Response.Write("<li>" + x3); Response.Write("<li>" + x4); Response.Write("<li>" + x5);