rareway 发表于 2008-3-20 23:01

关于显示精度的问题

关于显示精度的问题我想计算 1213.010100+0.0002=1213.010300

这样的题目,就是小数点后面始终是保持6位,但是matlab计算结果都给我弄个1.21301*e3 ,可是我想要的是1213.010300。该怎么控制呢

[ 本帖最后由 eight 于 2008-3-21 10:29 编辑 ]

sogooda 发表于 2008-3-21 07:58

是显示精度的问题吗?
假设你想要显示的是x
那么试试这个
sprintf('%20.6f',x)>> x=1213.010300
x =
1.2130e+003
>> sprintf('%20.6f',x)
ans =
         1213.010300如果写到文件里就可以用fprintf。

eight 发表于 2008-3-21 10:30

版面搜索显示精度

rareway 发表于 2008-3-21 14:53

如果不需输出的话,那么是否程序里用sprintf('%20.6f',x)时候存的数也是1213.010300呢

[ 本帖最后由 eight 于 2008-3-21 23:19 编辑 ]

sigma665 发表于 2008-3-21 15:39

help vpa

yuffey 发表于 2008-3-21 16:56

正面的解释可以吗?

原帖由 sogooda 于 2008-3-21 07:58 发表 http://www.chinavib.com/forum/images/common/back.gif
是显示精度的问题吗?
假设你想要显示的是x
那么试试这个
sprintf('%20.6f',x)>> x=1213.010300
x =
1.2130e+003
>> sprintf('%20.6f',x)
ans =
         1213.010300如果写到文件里就可以用fprintf。

sigma665 发表于 2008-3-21 18:18

回复 6楼 的帖子

正面的解释可以吗?

是什么意思

eight 发表于 2008-3-21 23:20

原帖由 rareway 于 2008-3-21 14:53 发表 http://www.chinavib.com/forum/images/common/back.gif
如果不需输出的话,那么是否程序里用sprintf('%20.6f',x)时候存的数也是1213.010300呢 这个问题讨论过无数次了,help digits(忘记有否 s 了), vpa

tigerhead099 发表于 2008-4-5 16:14

查看matlab的帮助,search->digits
页: [1]
查看完整版本: 关于显示精度的问题