使用预定义指数以指数表示法输出数字

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用预定义指数以指数表示法输出数字相关的知识,希望对你有一定的参考价值。

我有一组整数值,例如:

V = [26767559, 6022443, 9923637]; % etc.

对于我的应用程序,将它们表示为<rounded_mantissa>E5(即some_val * 105)很方便,所以对于上面的示例我想得到:

N = ["268E5", "60E5", "99E5"]; % I won't mind if it's E+05

目前,我正在使用几种可行的解决方法之一来实现此输出,

N = round(V*1E-5) + "E5";

但是我想知道是否有可能指定formatSpecsprintf(等)的num2str,以便输出具有指数特定值的数字(在本例中为5),而不执行除法(如num2str(round(V/1E5).','%3uE5')) )。

我正在使用R2018a。

答案

你至少可以删除round的使用,然后我认为没有任何进一步的缺点,因为它只是一个单一的分裂......

N = num2str( V/1e5, '%.0fE5' )

无论如何,.0精度运算符将强制为您舍入0小数位。

您只能使用formatSpec属性指定位数(有效位或小数点后),因此除非您有固定的数字位数(您没有),否则您将无法单独使用它。

以上是关于使用预定义指数以指数表示法输出数字的主要内容,如果未能解决你的问题,请参考以下文章

以指数形式表示数字

PAT1010

如何使 UISlider 以指数方式输出漂亮的舍入数字?

1010 一元多项式求导

PAT Basic 1010

PAT——1010. 一元多项式求导