stod("-112.0707922"),为什么只能得到-112.071 。怎样才能不丢失精度。
stod("-112.0707922"),为什么只能得到-112.071 。怎样才能不丢失精度。
|
alqazJul 15, 2017 via Android
2
自己写一个
|
|
3
@KaoN 嗯嗯,谢谢,但是还有个问题是但我设置了输出的精度后,发现经过 stod 转换后为什么数据不精确了,之后输出是-112.07079315185546875。
|
|
unavphJul 15, 2017
6
浮点数表示机制问题,误差几乎一定存在不可避免。
|
|
unavphJul 15, 2017
7
你的值是不是有问题,差的有点多,我试了一下是-112.07079219999999964
|
|
8
@unavph 我使用 stod("-112.0707922"),然后 cout.precision(20)设置成这样,出来就是上面-112.07079315185546875 这个数,和机器有关吗?
|