Matlab中sprintf的问题

发布于 2024-12-07 12:37:04 字数 196 浏览 0 评论 0原文

如何在 Matlab 中打印 像下面这样......

0.01000E+02

我已经尝试过

sprintf('%12.5e',[0.01000E+02])

它给了我

1.00000e+000

How to print in Matlab Like following....

0.01000E+02

I have tried

sprintf('%12.5e',[0.01000E+02])

it is giving me

1.00000e+000

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

予囚 2024-12-14 12:37:04

你的格式有点具体。您应该考虑编写自己的输出函数。

但有几点提示:

  • 通过正则表达式使 e 变大,并且
  • exp 编号中的 upper 只有 2 位数字。 new_string = regexprep(old_string,'\d(\d{2})$','\1')
  • exp 表示中以 0 开头的内容不是标准的 - 所以可能与 相乘1e2,打印浮点数,然后附加E+02

You format is a bit specific. You should consider writing your own output function.

But a few pointers:

  • Make e large with upper
  • only 2 digits in exp number through a regexp. new_string = regexprep(old_string,'\d(\d{2})$','\1')
  • the thing with leading 0 in exp representation is not standard - so maybe multiply with 1e2, print the float and later attach the E+02.
画尸师 2024-12-14 12:37:04

类似 ['0.0' strrep(sprintf('%12.5E',v*100), '.', '')] (使用 v 你的值)应该如果我正确理解你的格式,就可以工作。

Something like ['0.0' strrep(sprintf('%12.5E',v*100), '.', '')] (with v your value) should work if I understand correctly your format.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文