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 关注
- 500 浏览
添加回答
举报