3 回答

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊
您需要定義一個(gè)將用于存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)的語(yǔ)言環(huán)境,正是出于此目的,存在不變的區(qū)域性。
在顯示時(shí),將轉(zhuǎn)換為本機(jī)類型,然后針對(duì)用戶的區(qū)域性進(jìn)行格式化。
例如顯示:
string fromDb = "123.56";
string display = double.Parse(fromDb, CultureInfo.InvariantCulture).ToString(userCulture);
儲(chǔ)藏:
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。幾乎不用說(shuō),使用具有與數(shù)據(jù)匹配的數(shù)據(jù)類型的列會(huì)更好(但有時(shí)適用傳統(tǒng))。

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