【发布时间】:2010-04-23 20:55:39
【问题描述】:
TypeConverter 类有问题。它适用于 CultureInvariant 值,但不能转换特定的文化,如英语千位分隔符。下面是一个我无法工作的小测试程序。
这就是问题所在 :) - ConvertFromString 抛出异常并显示以下消息 “2,999.95 不是 Double 的有效值。” 以及内部异常 “输入字符串不是格式正确。”。
using System;
using System.Globalization;
using System.ComponentModel;
class Program
{
static void Main()
{
try
{
var culture = new CultureInfo("en");
var typeConverter = TypeDescriptor.GetConverter(typeof(double));
double value = (double)typeConverter.ConvertFromString(
null,
culture,
"2,999.95");
Console.WriteLine("Value: " + value);
}
catch (Exception e)
{
Console.WriteLine("Error: " + e.Message);
}
}
}
编辑: 链接到Connect上的错误报告
【问题讨论】:
-
什么不起作用?你遇到了什么错误?
-
ConvertFromString 抛出异常:“2,999.95 不是 Double 的有效值。”
标签: c# .net cultureinfo