从头开始小数点打三位只能输入数字和小数点

查看: 33023|回复: 18|关注: 0
matlab中怎么保留小数点后三位数字
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
matlab中怎么保留小数点后三位数字,不是保留三位有效数字?例如,1/300的输出结果为0.003,而不是由vpa(1/300,3),输出0.00333。
论坛优秀回答者
帖子最佳答案
关注者: 220
显示还是储存?MATLAB默认储存格式是double,但是你可以改变显示格式,比如可以用sprintf或者fprintf
help sprintf
help fprintf
论坛优秀回答者
关注者: 334
|此回复为最佳答案
fprintf('%.3f',1/300)
<h1 style="color:# 麦片财富积分
yinhefeng 发表于
fprintf('%.3f',1/300)
<h1 style="color:# 麦片财富积分
honglei.chen 发表于
显示还是储存?MATLAB默认储存格式是double,但是你可以改变显示格式,比如可以用sprintf或者fprintf
该如何解释这样的现象
sprintf('%.3f',1/pi)
&&sprintf('%.3f',1/pi)*1000
& && & 48000& && & 46000& && & 51000& && & 49000& && & 56000
<h1 style="color:# 麦片财富积分
关注者: 1
&& clear all
&& sprintf('%.3f',1/pi)
&& sprintf('%.3f',1/pi)*1000
& && & 48000& && & 46000& && & 51000& && & 49000& && & 56000
&& sprintf('%.3f',(1/pi)*1000)
楼上你这样的表达方法是不对的
<h1 style="color:# 麦片财富积分
关注者: 1
拓荒者 发表于
该如何解释这样的现象
sprintf('%.3f',1/pi)
&& clear all
&& sprintf('%.3f',1/pi)
&& sprintf('%.3f',1/pi)*1000
& && &&&48000& && & 46000& && & 51000& && & 49000& && & 56000
&& sprintf('%.3f',(1/pi)*1000)
楼上你这样的表达方法是不对的
论坛优秀回答者
帖子最佳答案
关注者: 220
拓荒者 发表于
该如何解释这样的现象
sprintf('%.3f',1/pi)
sprintf得到0.318,是一个字符串,那么它乘以1000,就是对各自的ASCII码操作,0的ASCII吗是48,依此类推
MATLAB 基础讨论版块优秀回答者
<h1 style="color:#7 麦片财富积分
关注者: 6
yinhefeng 发表于
fprintf('%.3f',1/300)
如果是一个矩阵怎么操作
论坛优秀回答者
关注者: 334
chybeyond 发表于
如果是一个矩阵怎么操作
试试roundn函数,不过显示的话还是显示小数点后4位,最后一位为0。A=[1/2 1/3 1/4;1/5 1/6 1/7]
B=roundn(A,-3)复制代码结果:A =
& & 0.5000& & 0.3333& & 0.2500
& & 0.2000& & 0.1667& & 0.1429
B =
& & 0.5000& & 0.3330& & 0.2500
& & 0.2000& & 0.1670& & 0.1430复制代码
站长推荐 /2
Powered by}

我要回帖

更多关于 大写数字小数点怎么写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信