关于显示精度的问题
关于显示精度的问题我想计算 1213.010100+0.0002=1213.010300这样的题目,就是小数点后面始终是保持6位,但是matlab计算结果都给我弄个1.21301*e3 ,可是我想要的是1213.010300。该怎么控制呢
[ 本帖最后由 eight 于 2008-3-21 10:29 编辑 ] 是显示精度的问题吗?
假设你想要显示的是x
那么试试这个
sprintf('%20.6f',x)>> x=1213.010300
x =
1.2130e+003
>> sprintf('%20.6f',x)
ans =
1213.010300如果写到文件里就可以用fprintf。 版面搜索显示精度 如果不需输出的话,那么是否程序里用sprintf('%20.6f',x)时候存的数也是1213.010300呢
[ 本帖最后由 eight 于 2008-3-21 23:19 编辑 ] help vpa 正面的解释可以吗?
原帖由 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。
回复 6楼 的帖子
正面的解释可以吗?是什么意思 原帖由 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 查看matlab的帮助,search->digits
页:
[1]