簡體   English   中英

僅為導出設置文化信息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM