首页 > 其他分享 >为什么double会被序列化为NaN

为什么double会被序列化为NaN

时间:2024-01-18 15:46:34浏览次数:29  
标签:Console Val double NaN WriteLine 序列化

提问

为什么double会被序列化为NaN

回答

世界上存在Double.NaN这个东西,他被序列化就会成为NaN

example

// See https://aka.ms/new-console-template for more information

using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

Console.WriteLine("Hello, World!");

var isValueValid = double.TryParse(null, NumberStyles.Any, CultureInfo.InvariantCulture, out var tagValue);
Console.WriteLine($"isValueValid:{isValueValid} tagValue:{tagValue}");

var v = new Example()
{
    Name = "12",
    Val = Double.NaN
};
Console.WriteLine(JsonConvert.SerializeObject(v));

Console.WriteLine(Double.IsNaN(v.Val.Value));

public class Example
{
    public string? Name { get; init; }
    
    public double? Val { get; set; }
    
}

  • 输出:
C:/Repos/tryparse/tryparse/tryparse/bin/Debug/net6.0/tryparse.exe 
Hello, World!
isValueValid:False tagValue:0
{"Name":"12","Val":"NaN"}
True

参考

https://learn.microsoft.com/zh-cn/dotnet/api/system.double.nan?view=net-8.0

标签:Console,Val,double,NaN,WriteLine,序列化
From: https://www.cnblogs.com/wuhailong/p/17972608

相关文章

  • 为啥替换后int类的数据直接NaN了,加了判断也是没替换成功?
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Pandas数据处理问题,一起来看看吧。问题描述:大佬们这个是为啥呀啊? 为啥替换后int类的数据直接NaN了 加加了判断也是没替换成功原始数据如下:tt=pd.DataFrame({'name':['A','B','C'],......
  • Python pickle 二进制序列化和反序列化 - 数据持久化
    模块pickle实现了对一个Python对象结构的二进制序列化和反序列化。"pickling"是将Python对象及其所拥有的层次结构转化为一个字节流的过程,而"unpickling"是相反的操作,会将(来自一个binaryfile或者bytes-likeobject的)字节流转化回一个对象层次结构。pickling(和unp......
  • c# csharp 对象序列化
    对象序列化要将一个序列化对象存储起来,您可以使用C#中的序列化和反序列化功能。以下是一个示例代码,它演示了如何将一个序列化对象存储到文件中:usingSystem;usingSystem.IO;usingSystem.Runtime.Serialization.Formatters.Binary;namespaceMyNamespace{[Serializab......
  • 配置redisTemplate序列化,解决乱码与反序列化失败
    /***@projectName:MultiModuleDemo*@package:com.example.config*@className:RedisConfig*@description:TODO(配置RedisTemplate序列化)*@date:2023/12/1821:08*@version:1.0*/@ConfigurationpublicclassRedisConfig{@BeanpublicRedi......
  • C# 对象序列化 单元测试 .netframework
    对象序列化以及单元测试F:\song\netframework_serialize\netframework_serialize\Program.csusingnetframework_serialize.Animal;usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Runtime.Serialization.Formatters.Bina......
  • SpringBoot集成Jackson实现JSON序列化
    一、前言Jackson是一个在Java中常用的JSON序列化和反序列化库,它具有操作简单、性能优秀、支持多种数据格式等特点,被广泛应用于各种服务端开发中。SpringMVC框架的默认json解析器也是Jackson。当前常见的json解析器还有Gson、fastjson等,jackson的优势是解析大的json文件处理速度快,运......
  • 基于6ULL-Nand核心板|提取并反编译设备树
    本文基于HD6UL-IOT评估板进行验证。HD6UL-IOT 基于HD6UL-CORE 工业级核心板设计(双网口、双 CAN、7 路串口),接口丰富,采用 3.5 寸工控板标准尺寸,适用于工业现场应用需求,亦方便用户评估核心板及 CPU 的性能。 1.查看dtb文件分区使用cat /proc/mtd命令查看dtb设备树文件在nand......
  • delphi JSON序列化(五)
    关于TJSONConverters的使用unitUnit1;interfaceusesWinapi.Windows,Winapi.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.Forms,Vcl.Dialogs,Vcl.StdCtrls,Vcl.Buttons,Rest.JSON.Types,Rest.JsonReflect;t......
  • delphi JSON序列化(四)
    涉及的重要类REST.Json,REST.JsonReflect,REST.Json.Interceptors,REST.Json.Types单元中。一、TJson类最简单的一个类,提供了JSON->OBJECT和OBJECT->JSON几个方法,方法有TJsonOptions参数,如:   classfunctionObjectToJsonObject(AObject:TObject;AOptions:TJsonOpti......
  • Finance_金蝶KIS专业版全模块精讲
    金蝶KIS专业版全模块精讲https://www.bilibili.com/video/BV19Y4y1X7DD?p=5&vd_source=8b9de621639420a0ceb703aceed712f7  第2节、公共基础设置新增部门 新增用户      第5节、固定资产  ......