【发布时间】:2019-05-22 06:35:25
【问题描述】:
我在使用 JSON 转换器将 JSON 转换为 c# 时遇到了问题。当转换值为 10000.0 时,我有一个字段十进制值为 10000 - 如何限制?
using System;
using Newtonsoft.Json;
public class Program
{
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public decimal? Salary { get; set; }
}
public static void Main()
{
// Serializaion
Employee empObj = new Employee();
empObj.ID = 1;
empObj.Name = "Manas";
empObj.Salary = 10000;
// Convert Employee object to JOSN string format
string jsonData = JsonConvert.SerializeObject(empObj);
Console.WriteLine(jsonData);
}
}
实际结果:
{"ID":1,"Name":"Manas","Salary":10000.0}
预期结果:
{"ID":1,"Name":"Manas","Salary":10000}
【问题讨论】:
-
我会说 10000.0 是小数的预期结果。当您想要 10000 时,将小数更改为 int。
-
我也需要小数
-
请详细说明“需要小数”是什么意思?举个例子吧。
-
有什么办法可以限制
-
10000.0有什么问题?许多解析器会将10000转换为10000I而不是10000m或10000d。
标签: c#