提问人:nirag tibdewal 提问时间:2/12/2020 更新时间:2/12/2020 访问量:760
使用 JsonConvert 将具有德语区域性格式的字符串转换为双精度 [duplicate]
Convert string with German culture format to double using JsonConvert [duplicate]
问:
这个问题在这里已经有答案了:
德国文化 - 用逗号从 JSON 中获取双精度数 (4 个答案)
JSON序列化时如何本地化? (2 个答案)
处理 Newtonsoft.Json 中的十进制值 (3 个答案)
3年前关闭。
我需要将 JSON 中的德语格式货币(值可以是负数或正数)转换为 Double,我可以使用 double.parse 并指定 NumberStyle,如下所示
CultureInfo culture = CultureInfo.CreateSpecificCulture("de-DE");
var convertedValue = double.Parse("2.664.221,01-", NumberStyles.Currency, culture);
但是,有多个属性需要转换,我正在寻找一种更好的方法来做到这一点,而不是对每个属性进行解析。我正在考虑使用JsonSerializerSettings,然后使用Json Convert。但找不到在JsonSerializerSettings中指定样式的方法。
有没有更好的方法来解决这个问题?
var settings = new JsonSerializerSettings()
{
Culture = new CultureInfo("de-DE"),
//NumberStyle = currency
};
var res = JsonConvert.DeserializeObject<MyObject>(json, settings);
答: 暂无答案
评论
2.664.221,01-
JsonSerializerSettings.Culture
DateTime
"2.664.221,01-"