0
我感兴趣的一些数据(主要是数字)导出到Excel,我需要它是在美国的格式(即1,234,567.89)不管是用户当前的文化。我不想为整个应用程序改变文化。我只需要确保这些号码的格式是正确的。我已经尝试设置当前线程的文化,但它似乎改变了整个应用程序的文化。任何帮助将不胜感激。出口设置文化信息只有
编辑我的数据会在数据表。我是否需要检查每个值并将其转换?
我感兴趣的一些数据(主要是数字)导出到Excel,我需要它是在美国的格式(即1,234,567.89)不管是用户当前的文化。我不想为整个应用程序改变文化。我只需要确保这些号码的格式是正确的。我已经尝试设置当前线程的文化,但它似乎改变了整个应用程序的文化。任何帮助将不胜感激。出口设置文化信息只有
编辑我的数据会在数据表。我是否需要检查每个值并将其转换?
可以使用Convert.ToDecimal
方法的重载版本之一:
var culture = new CultureInfo("en-US");
var convertedValue = Convert.ToDecimal(value, culture);
如果你需要你可以使用ToString
重载的一个字符串,例如:
var convertedValue = value.ToString(culture);
您也可以使用string.Format
过载:
String.Format(culture , "{0}", value);
如果你想让它反对不正确的值保护:
if (!decimal.TryParse(value, NumberStyles.Any, culture , out convertedValue))
{
//the code in case the value could not be parsed.
}
或者,你可以使用'的ToString()'重载需要一个'IFormatProvider'实例(这是由'CultureInfo'实现):'值.ToString(new CultureInfo(“en-US”))' –