gpt4 book ai didi

c# - 为什么解析具有浮点值的字符串会给我一个点后有大量数字的数字

转载 作者:行者123 更新时间:2023-11-30 21:28:26 29 4
gpt4 key购买 nike

我有以下代码

app.First.SelectToken("averageScore")?.ToString() 

它在 Newtonsoft 库的帮助下解析 json。

这是结果

“4,8”

但是当我尝试将其转换为 double 时,我得到以下结果:

"4.7999999999999998"

代码:

double.Parse(app.First.SelectToken("averageScore")?.ToString()) 

但我需要双 4.8。如何获得?对于十进制,这种方式很好用。但我需要双倍。

最佳答案

这与您在尝试将数字 1/3 表示为小数时遇到的问题相同:您无法精确地做到这一点。在这种情况下,.8 十进制值在 base-2 中没有精确表示,因此您得到的结果是不完美的近似值。使用 decimal 类型可能会好一些,但您仍然需要小心。

关于c# - 为什么解析具有浮点值的字符串会给我一个点后有大量数字的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56528539/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com