C# 在应用程序级别指定NumberFormat
我正在使用JsonConvert和JsonSerializerSettings从JSON读取数据,我还没有接触到文化。将手机操作系统语言从en US更改为nl nl我的号码格式丢失。可以为应用程序设置数字格式吗C# 在应用程序级别指定NumberFormat,c#,windows-phone-8,windows-phone-8.1,C#,Windows Phone 8,Windows Phone 8.1,我正在使用JsonConvert和JsonSerializerSettings从JSON读取数据,我还没有接触到文化。将手机操作系统语言从en US更改为nl nl我的号码格式丢失。可以为应用程序设置数字格式吗 using (Stream stream = accessStream.AsStreamForRead((int)accessStream.Size)) { byte[] content = new
using (Stream stream = accessStream.AsStreamForRead((int)accessStream.Size))
{
byte[] content = new byte[stream.Length];
await stream.ReadAsync(content, 0, (int)stream.Length);
string json = Encoding.UTF8.GetString(content, 0, content.Length);
System.Diagnostics.Debug.WriteLine("Read from file: " + json);
JsonSerializerSettings serializerSettings = new JsonSerializerSettings();
serializerSettings.NullValueHandling = NullValueHandling.Ignore;
List<T> objects = JsonConvert.DeserializeObject<List<T>>(json, serializerSettings);
return objects;
}
使用(Stream-Stream=accessStream.AsStreamForRead((int)accessStream.Size))
{
字节[]内容=新字节[stream.Length];
wait stream.ReadAsync(content,0,(int)stream.Length);
string json=Encoding.UTF8.GetString(content,0,content.Length);
System.Diagnostics.Debug.WriteLine(“从文件读取:+json”);
JsonSerializerSettings serializerSettings=新的JsonSerializerSettings();
serializerSettings.NullValueHandling=NullValueHandling.Ignore;
List objects=JsonConvert.DeserializeObject(json,SerializeSettings);
归还物品;
}
您可以尝试以下方法:
Thread.CurrentThread.CurrentUICulture.NumberFormat = new NumberFormatInfo(); // Sets the CurrenUiCulture number format to the default culture neutral format
在ASP.NET配置文件中,您还可以使用下一步更改它。好吧,如果不是asp.net应用程序,那就没用了
有一个-CurrentUiCulture负责格式化和其他功能,而CurrentCulture处理语言和资源
但是您应该知道,这个代码片段将更改应用程序中整个主线程的数字格式。而且它不会影响其他线程中的数字格式
离题建议?:强>
如果只需要更改Json序列化反序列化,则应使用JsonSerializerSettings的属性
JsonSerializerSettings serializerSettings = new JsonSerializerSettings() {Culture = CultureInfo.InvariantCulture };
我最终使用了JSON,没有理由坚持使用XML。