HttpClient ReadAsStringAsync 四舍五入小数

在其中一个 Net API 控制器中,我有一个将请求发送到另一个第三方 API 的操作,在收到响应后,它对收到的 JSON 数据进行了一些操作,最后将响应返回给前端应用程序。示例代码如下:


using (var client = new HttpClient())

{

    var response = await client.GetAsync(_remoteServiceEndPoint + "student/" + id);

    if (response.IsSuccessStatusCode)

    {

        var contentString = await response.Content.ReadAsStringAsync();

        //do something with contents and finally return response to the caller

    }

}

现在,如果第三方发送一个包含数字的 JSON 响应,999999999999999.99并且ReadAsStringAsync在上面的代码片段中执行,它会将值更改为10000000000000000. 我不想要的。


我想知道为什么ReadAsStringAsync会这样。


烙印99
浏览 64回答 1
1回答

HUWWW

感谢@JessedeWit 指出这是 NewtonSoft 库的问题。引入此SO 问题响应中提到的解决方法解决了该问题。
打开App,查看更多内容
随时随地看视频慕课网APP