我們得到了地方相關網站的客戶端,其中的貨幣被設置爲區域格式地區性,這是我們解析,如:移除小數
bool result = decimal.TryParse(currencyValue, NumberStyles.Currency, myCulture, out value);
當我們序列化此十進制到XML和十進制以前在myCulture =解析EN-US,XmlSerializer的返回<Curr id="2" amnt="100000000.00"/>
和反序列化回相同數目的......但是當我們在SK-SK或CS-CZ做到這一點,它返回<Curr id="2" amnt="100000000,00"/>
返回* 100的反序列化(忽略逗號)...
是否有可能從十進制中刪除這個區域,或使其不變? (如果我不想將它轉換爲字符串並再次解析回來處理區域)
序列化在任何地方都使用相同的文化('InvariantCulture'看起來非常合適)。 – Oded 2012-07-13 16:39:11
如果我理解正確 - 我覺得很難相信。你確定你沒有使用XmlSerializer來串行化一個字符串而不是小數?或者你使用自定義序列化?郵政編碼,說明發生了什麼。 – Joe 2012-07-13 17:14:22
是的,我敢肯定它是一個小數,是的,我也不可能......有小數?對象,它在調試時顯示值爲100,但如果使用en-EN語言環境解析,則在xml中寫入100.00;如果是cs-CZ,則爲100,00。現在,我無法在家中顯示更多代碼無法訪問tfs。 – sasjaq 2012-07-13 22:33:12