使用 Matlab 避免科学记数法

Posted

技术标签:

【中文标题】使用 Matlab 避免科学记数法【英文标题】:Avoiding scientific notation with Matlab 【发布时间】:2013-03-19 23:29:23 【问题描述】:

我已经试过了:

format long g;

但是像这样的数字用科学记数法表示:

ans = 8.80173259769825e-05

如何在不使用 fprintf 之类的东西的情况下避免使用科学记数法?

【问题讨论】:

对于这么小的数字,我不认为你可以。使用fprintf 有什么问题? 您可以随时定义mydisp = @(x)fprintf('%8f', x) 之类的内容,然后调用mydisp(num),而无需太多麻烦。 llnk,那么你想要什么作为输出? 【参考方案1】:

你可以使用:

sprintf('%.10f', yourNumber)

或者更复杂的选择是使用基于 Java 的格式(see more info,感谢 Yair Altman 展示此方法),例如:

char(java.text.DecimalFormat('#.00000000').format(yourNumber));

【讨论】:

【参考方案2】:

转到: 首选项 > 命令视图 > 数字格式 > 银行

【讨论】:

这不是答案类型,要么放在 cmets 中,要么在答案中提供详细信息。 我不明白为什么这个答案被否决了。在到处搜索并没有找到答案之后,这就是最终解决我问题的问题。

以上是关于使用 Matlab 避免科学记数法的主要内容,如果未能解决你的问题,请参考以下文章

Matlab科学计数法中的前导零

Matlab:在文本框中应用科学记数法

matlab科学记数法问题

Matlab中如何获取科学记数法的指数

将 CSV 导入 MATLAB 的正确科学记数法

Matlab:在文本框中应用科学记数法