c# - 解析 JSON 轮负值

标签 c# json.net rounding

我正在使用 NewtonSoft 的 JSON.NET 程序集在 C# 控制台应用程序中加载 .json 文件。我想我已经完成了大部分工作,除了我发现一些负浮点值被四舍五入。

相关代码如下;如您所见,我已经尝试了 loadparse 方法,但结果相同。

string content;
using (StreamReader reader = new StreamReader("C:\\[Path]\brackett_full_room.json"))
{
  content = reader.ReadToEnd();
}

////  JObject rss = JObject.Load(reader);
JObject rss = JObject.Parse(content);

原始值如下:

"geometry" : {  "rings" : [   [   [  -9221300.3411999997, 4120326.8838  ],
    [  -9221300.2146000005,  4120327.992399998  ]...

但是 -9221300.3411999997rss 变量中变成类似 -9221300.3412 的东西,这导致坐标不起作用;长的正值没问题。

有没有办法保持足够高的精度(即,如果解析为 double 而不是 float,应该有足够的数字)?

最佳答案

安德鲁正确答案的一些代码:

var settings = new JsonSerializerSettings();
settings.FloatParseHandling = FloatParseHandling.Decimal;
string json = @"{ ""rings"" : [  -9221300.3411999997, 4120326.8838  ] }";
var rss = JsonConvert.DeserializeObject(json, settings);

关于c# - 解析 JSON 轮负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28681900/

相关文章:

rounding - HLSL tex2d 采样器似乎使用了不一致的舍入;为什么?

c# - beginInvoke、GUI 和线程

C# 回退值

c# - JObject.Parse 与 JsonConvert.DeserializeObject

c# - 当 JsonConstructor 参数名称与 JSON 不匹配时如何抛出异常?

java - Java中如何将数字四舍五入到小数点后n位

c# - 将 lastinsertedid 从 mysql 传递到 aspx 文件

c# - xamarin.forms shell tabbar 非常慢

c# - 如何使用 JsonTextReader 两次

python - 在 Python 中比较 "similar"数字