我有一个关于TypeConverter类的问题。它可以很好地处理CultureInvariant值,但无法转换特定文化,例如英语千位分隔符。以下是一个小测试程序,我无法使其正常工作。
这里是问题所在 :) - ConvertFromString抛出一个异常,消息为"2,999.95不是Double类型的有效值",内部异常为"输入字符串格式不正确"。
这里是问题所在 :) - 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上的错误报告链接。