我正在尝试转换字符串" 10.00"像这样的小数:
decimal a = Convert.ToDecimal("10.00");
但出于某种令人难以置信的原因,我收到了这个错误:
输入字符串的格式不正确。 System.Number.StringToNumber(String str,NumberStyles options,NumberBuffer& number,NumberFormatInfo info,Boolean parseDecimal)at System.Number.ParseDecimal(String value,NumberStyles options,NumberFormatInfo numfmt)at System.Convert.ToDecimal(String value)at at Presentation.Models.OrderBaseModel.Response(FormCollection response,String responseUrl)
有更深层次的原因吗?怎么能" 10.00"字符串是不可解决的?
答案 0 :(得分:4)
Convert.ToDecimal()调用Decimal.Parse()
为确保10.00将解析您需要使用将解析它的文化。
var culture = CultureInfo.InvariantCulture
decimal a = Decimal.Parse("10.00",culture);