为啥我的输出值为指数格式 1.04e+05? [复制]
Posted
技术标签:
【中文标题】为啥我的输出值为指数格式 1.04e+05? [复制]【英文标题】:Why is my output value in exponential format 1.04e+05? [duplicate]为什么我的输出值为指数格式 1.04e+05? [复制] 【发布时间】:2018-03-09 09:23:00 【问题描述】:我正在使用bwarea
计算图像中对象的面积,如下所示:
i=imread('Z:\Azhagu project work\MRI\input.jpg');
imshow(i);
bwarea(i)
这给出了以下输出:
ans = 1.0428e+05
为什么面积是指数格式?
【问题讨论】:
您是要显示答案还是要对其进行更多计算?如果你想做更多的计算,最好保持这种格式。 @TomDee 没有“那种格式”。你不能改变它。您只能更改其显示方式,但不会更改数字 ***.com/questions/49191571/… 当@Adriaan 的规范版本subsequently asked 正在累积赞成票时,不确定为什么这个问题会累积反对票?是的,它的格式很差,但本质上主要的区别是 OP 不知道他们在问什么,这就是他们问的原因。阿扎古:请阅读How to Ask,这样你以后可以写出更多描述性的问题。 @Wolfie 可能是因为这是一个很基础的错误,说明MATLAB的基本原理还没有搞清楚,从而得出这个问题“没有好好研究”的结论,就是这样否决箭头上的工具提示说。我想我的问题被赞成了,因为我写了一个规范的 Q/A,而认为答案很好的人可能也放弃了对该问题的投票。 (我决定写一个单独的问题,因为图像关系与这里的一般原因无关) 【参考方案1】:它不是指数输出;它是科学计数法。
ans = 1.0428e+05 == 104280
您可以使用 format long
或 format longG
强制 MATLAB 显示所有小数。这只是 MATLAB 的一个显示怪癖,无论如何,您的号码在内部都存储为 double
,因此对于进一步的计算,这无关紧要。
【讨论】:
【参考方案2】:此面积值不是指数格式。对于您给定的图像,面积以浮点数格式表示。因此 1.0428e+05 的值实际上是 104280。
【讨论】:
以上是关于为啥我的输出值为指数格式 1.04e+05? [复制]的主要内容,如果未能解决你的问题,请参考以下文章