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」))' –