声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1331|回复: 8

[综合讨论] 关于显示精度的问题

[复制链接]
发表于 2008-3-20 23:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

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

[ 本帖最后由 eight 于 2008-3-21 10:29 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-3-21 07:58 | 显示全部楼层
是显示精度的问题吗?
假设你想要显示的是x
那么试试这个
sprintf('%20.6f',x)
  1. >> x=1213.010300
  2. x =
  3.   1.2130e+003
  4. >> sprintf('%20.6f',x)
  5. ans =
  6.          1213.010300
复制代码
如果写到文件里就可以用fprintf。

评分

1

查看全部评分

发表于 2008-3-21 10:30 | 显示全部楼层
版面搜索显示精度
 楼主| 发表于 2008-3-21 14:53 | 显示全部楼层
如果不需输出的话,那么是否程序里用sprintf('%20.6f',x)时候存的数也是1213.010300呢

[ 本帖最后由 eight 于 2008-3-21 23:19 编辑 ]
发表于 2008-3-21 15:39 | 显示全部楼层
help vpa
发表于 2008-3-21 16:56 | 显示全部楼层
正面的解释可以吗?

原帖由 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。
发表于 2008-3-21 18:18 | 显示全部楼层

回复 6楼 的帖子

正面的解释可以吗?

是什么意思
发表于 2008-3-21 23:20 | 显示全部楼层
原帖由 rareway 于 2008-3-21 14:53 发表
如果不需输出的话,那么是否程序里用sprintf('%20.6f',x)时候存的数也是1213.010300呢
这个问题讨论过无数次了,help digits(忘记有否 s 了), vpa
发表于 2008-4-5 16:14 | 显示全部楼层
查看matlab的帮助,search->digits
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 02:43 , Processed in 0.063797 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表