Matlab/Octave 加法,丢失精度问题

3
在Matlab/Octave中,当我相加两个数字时,会丢失一些数字。
>>> 23.0 + 0.65850
ans =  23.659

如何获取一个双精度数,其值为23.65850

1个回答

6

这个数字仅仅是为了展示而四舍五入的。如果你想改变它,请看一下format命令。

octave> 23 + 0.65850
ans =  23.659
octave> format free
octave> 23 + 0.65850
ans = 23.7
octave> format long g
octave> 23 + 0.65850
ans =              23.6585

查看help format了解其他选项,但请记住,这仅影响显示。您不会失去任何精度。


计算过程中确实会进行舍入...但并不像显示的字符串所示那么多。 - Ben Voigt
@BenVoigt 是的,但这是由于使用了 double。你知道我的意思 ;) - carandraug

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接