[英]Set culture info for export only
我有兴趣将一些数据(主要是数字)导出到Excel中,无论用户当前的文化是什么,我都需要它采用美国格式(即1,234,567.89)。 我不想改变整个应用程序的文化。 我只需要确保数字格式正确。 我已经尝试为当前线程设置文化,但它似乎改变了整个应用程序的文化。 任何帮助将不胜感激。
编辑我的数据将在DataTable中。 我是否需要通过每个价值并转换它?
您可以使用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.
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.