matlab 科学计数法中 e后面显示位数

科学计数法中,比如1.012e+003怎么变成显示1.012e+03
然后怎么用 fprintf 输出到文件中呢
求指点

数据内部存储是有格式的,输出数据也是有格式的,默认输出格式为double,因此
1.012e+003默认输出应该为1012
可以通过format更改数据类型,但是指数不能设置显示位数
1.012e+003变成1.012e+03,并没有改变精度,仅仅是去掉了0
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-11-07

没太明白重点。。

    fprintf的用法,请看帮助文档,包括如何设置输出浮点数时的格式


追问

比如我有个数 a= 0.00123456789
当我 用 fprintf(fp,'%.9d',a);
输出了 1.23456789e-003
而我想得到 1.23456789e-03
这下明白了吧

第2个回答  2015-10-16
如图,matlab命令窗口中显示的数值默认只是4位小数,最后一位采用四舍五入。
如果要修改显示的小数位数,或者需要科学计数法等,请看下文。

进入preference设置
matlab2013以前的版本:
菜单栏中点击“file”,在下拉窗口中点击“preference”。

matlab2013,及以后的版本:
点击“home”,在右侧会看到“preference”按钮。

在preference设置窗口中,点击“command window”。

在窗口的右侧,numeric format 后面可以选择需要的数值格式。默认为short,里面数值格式很多,根据需要选择。例如,选择“long”,则会显示更多的小数位数,选择有...e,的格式,将表示为科学计数法。
然后点“确定”。
第3个回答  2015-03-28
strrep('1.012e+003','e+0','e+')
相似回答