3 回答

TA貢獻1890條經驗 獲得超9個贊
您需要定義一個將用于存儲在數據庫中的數據的語言環境,正是出于此目的,存在不變的區域性。
在顯示時,將轉換為本機類型,然后針對用戶的區域性進行格式化。
例如顯示:
string fromDb = "123.56";
string display = double.Parse(fromDb, CultureInfo.InvariantCulture).ToString(userCulture);
儲藏:
string fromUser = "132,56";
double value;
// Probably want to use a more specific NumberStyles selection here.
if (!double.TryParse(fromUser, NumberStyles.Any, userCulture, out value)) {
// Error...
}
string forDB = value.ToString(CultureInfo.InvariantCulture);
PS。幾乎不用說,使用具有與數據匹配的數據類型的列會更好(但有時適用傳統)。

TA貢獻1830條經驗 獲得超9個贊
您可以將UI文化更改為所需的任何內容,但是您應該像這樣更改數字分隔符:
CultureInfo info = new CultureInfo("fa-IR");
info.NumberFormat.NumberDecimalSeparator = ".";
Thread.CurrentThread.CurrentCulture = info;
Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;
這樣,您的字符串將像這樣轉換:“ 12.49”而不是“ 12,49”或“ 12/49”
- 3 回答
- 0 關注
- 530 瀏覽
添加回答
舉報