我怎么改变显示数量从科学记数法到完整的数字位数?gydF4y2Ba

2 722的浏览量(30天)gydF4y2Ba
如何使MATLAB输出完整的数字位数,而不是使用科学记数法?gydF4y2Ba

接受的答案gydF4y2Ba

奥列格•科马罗夫gydF4y2Ba
奥列格•科马罗夫gydF4y2Ba 2011年8月6日gydF4y2Ba
格式gydF4y2Ba长gydF4y2Ba
或gydF4y2Ba
sprintf (gydF4y2Ba' % 16. f 'gydF4y2Ba,2332456943534324)gydF4y2Ba
9日评论gydF4y2Ba
沃尔特·罗伯森gydF4y2Ba
沃尔特·罗伯森gydF4y2Ba 2020年4月21日gydF4y2Ba
我相信这些都是存储数量不是最接近的地方可表示的数的值将圆。gydF4y2Ba

登录置评。gydF4y2Ba

更多的答案(6)gydF4y2Ba

图像分析gydF4y2Ba
图像分析gydF4y2Ba 2011年8月7日gydF4y2Ba
编辑:gydF4y2BaMathWorks支金宝app持团队gydF4y2Ba 2018年11月8日gydF4y2Ba
显示数字的最大数量在一个变量中没有使用科学记数法,输出显示格式设置为“longG”:gydF4y2Ba
格式gydF4y2BalongGgydF4y2Ba
设置显示格式后,变量显示在十进制记数法:gydF4y2Ba
m =兰德(1、3)/ 1000gydF4y2Ba
m =gydF4y2Ba
0.000546881519204984 0.000957506835434298 0.00096488853519927gydF4y2Ba
为了避免显示科学记数法为变量超过2 ^ 50使用sprintf”。例如,这个代码显示2332456943534324这个数字的十进制记数法:gydF4y2Ba
sprintf (gydF4y2Ba' % 16. f 'gydF4y2Ba,2332456943534324)gydF4y2Ba
ans =gydF4y2Ba
“2332456943534324”gydF4y2Ba
有关更多信息,请参见“格式”文档:gydF4y2Ba
2的评论gydF4y2Ba
图像分析gydF4y2Ba
图像分析gydF4y2Ba 2011年8月7日gydF4y2Ba
是的它可以帮助。有时一些暗中通过即使(是否有超过三个0的小数点向右),像这样我试着:gydF4y2Ba
m =gydF4y2Ba
列1到4gydF4y2Ba
0.000538342435260057 0.000996134716626886 7.81755287531837 0.000442678269775446 e - 005gydF4y2Ba
列5到8gydF4y2Ba
0.000106652770180584 0.000961898080855054 4.63422413406744 0.000774910464711502 e - 006gydF4y2Ba

登录置评。gydF4y2Ba


Kaveh VejdanigydF4y2Ba
Kaveh VejdanigydF4y2Ba 2018年2月19日gydF4y2Ba
我不明白为什么你已经接受了错误的答案。你在寻找的是什么:格式短ggydF4y2Ba
欢呼,KavehgydF4y2Ba
3评论gydF4y2Ba
沃尔特·罗伯森gydF4y2Ba
沃尔特·罗伯森gydF4y2Ba 2018年2月19日gydF4y2Ba
> >格式短gydF4y2BaggydF4y2Ba
> >πgydF4y2Ba
ans =gydF4y2Ba
3.1416gydF4y2Ba
这是gydF4y2Ba 不gydF4y2Ba “全数字位数”gydF4y2Ba
> > 1000000gydF4y2Ba
ans =gydF4y2Ba
1 e + 06gydF4y2Ba
这不是甚至接近一个“荒谬的大量”gydF4y2Ba
短g格式给你最多5个有效数字。gydF4y2Ba
长g格式给你最多15个有效数字。事实证明是不够的在实践中是独一无二的。有24个独特可表示的值(pi-37 * eps:每股收益:π+ 9 * eps),所有这些都显示为长3.14159265358979格式下g。如果目标是产出足够的数字能够传递的价值观完全以文字形式显示,然后格式长g是不够的。gydF4y2Ba
人们会被这所有的时间!gydF4y2Ba
格式gydF4y2Ba长ggydF4y2Ba
T = 0.3 - 0.2gydF4y2Ba
T = = 0.1gydF4y2Ba
T - 0.1gydF4y2Ba
T =gydF4y2Ba
0.1gydF4y2Ba
ans =gydF4y2Ba
逻辑gydF4y2Ba
0gydF4y2Ba
ans =gydF4y2Ba
-2.77555756156289 e-17gydF4y2Ba
人们很难理解为什么比较的值显示为0.1不等于0.1:格式长g有实际影响的极限。gydF4y2Ba

登录置评。gydF4y2Ba


马克·鲍尔gydF4y2Ba
马克·鲍尔gydF4y2Ba 2017年10月20日gydF4y2Ba
编辑:gydF4y2Ba马克·鲍尔gydF4y2Ba 2017年10月20日gydF4y2Ba
一个漂亮的、一致的解决方案是使用“num2str ()”。同一作品呼吁显示从命令行:gydF4y2Ba
> val = 1234567890gydF4y2Ba
val =gydF4y2Ba
1.234567890000000 e + 09年gydF4y2Ba
> num2str (val)gydF4y2Ba
ans =gydF4y2Ba
1234567890gydF4y2Ba
并在打印语句:gydF4y2Ba
> sprintf (num2str (val))gydF4y2Ba
ans =gydF4y2Ba
1234567890gydF4y2Ba
它也适用于浮点数:gydF4y2Ba
> val = 123456.789gydF4y2Ba
val =gydF4y2Ba
1.234567890000000 e + 05gydF4y2Ba
> sprintf (num2str (val))gydF4y2Ba
ans =gydF4y2Ba
123456.789gydF4y2Ba
>gydF4y2Ba
2的评论gydF4y2Ba
Stephen23gydF4y2Ba
Stephen23gydF4y2Ba 2018年2月20日gydF4y2Ba
编辑:gydF4y2BaStephen23gydF4y2Ba 2018年2月20日gydF4y2Ba
sprintf (num2str (val))gydF4y2Ba
的gydF4y2Ba sprintfgydF4y2Ba 完全是多余的,根本没有什么有用的,只是减缓了代码。在任何情况下,使用一个合适的gydF4y2Ba sprintfgydF4y2Ba 格式字符串会比打电话gydF4y2Ba num2strgydF4y2Ba 的数量,并提供更多的控制,所以为什么不这样做呢?gydF4y2Ba

登录置评。gydF4y2Ba


沃尔特·罗伯森gydF4y2Ba
沃尔特·罗伯森gydF4y2Ba 2018年2月19日gydF4y2Ba
对MS Windows和Linux,完整的指数形式的数字,而不是数量,你需要使用符号工具箱或你需要使用一个工具等gydF4y2Ba //www.tatmou.com/matlabcentral/fileexchange/22239-num2strexact--exact-version-of-num2str-gydF4y2Ba 从文件交换。这对女士的窗户是至关重要的,这是一个相当贫穷的工作转换精确值;Linux是一个更好的工作,但一段时间后仍有错误。gydF4y2Ba
在Mac os x, MacOS),建于转换是准确的,你可以选择sprintf () ' %。1074 f的格式。例如,gydF4y2Ba
> > sprintf (gydF4y2Ba“% .1074f”gydF4y2Ba每股收益(最小正浮点数)gydF4y2Ba
ans =gydF4y2Ba
“0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844753335720832431936092382893458368060106011506169809753078342277318329247904982524730776375927247874656084778203734469699533647017972677717585125660551199131504891101451037862738167250955837389733598993664809941164205702637090279242767544565229087538682506419718265533447265625”gydF4y2Ba
对于较大的值你可能想配平尾随零从转换后的字符串gydF4y2Ba
val =π* 1 e - 200;gydF4y2Ba
regexprep (sprintf (gydF4y2Ba“% .1074f”gydF4y2Ba,val),gydF4y2Ba“0 + $”gydF4y2Ba,gydF4y2Ba”gydF4y2Ba,gydF4y2Ba“lineanchors”gydF4y2Ba)gydF4y2Ba
ans =gydF4y2Ba
“0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003141592653589793111936498419027683964072757959391149845317813416927695644722162706379483043156554579881967829022575831926635177847590589777088086173081089243142930507159490615800591052996089483276727788901006686618108987452642387169053033459820326372299902201815389727889699071056417123601253516892437642498120285079407325647552658339885701180059456745257476645670329996938769926310811984167666114826593537757304481509915842491117931968666219637406979734598283259283758102504979792257699955371208488941192626953125”gydF4y2Ba

Huw年代gydF4y2Ba
Huw年代gydF4y2Ba 2017年1月31日gydF4y2Ba
如果你不需要知道所有的小数点,然后你的方程。gydF4y2Ba
保存所有指数的其他麻烦。gydF4y2Ba
1评论gydF4y2Ba
沃尔特·罗伯森gydF4y2Ba
沃尔特·罗伯森gydF4y2Ba 2017年1月31日gydF4y2Ba
不幸的是并非如此:gydF4y2Ba
> >格式短gydF4y2Ba
> >轮(2 ^ 54)gydF4y2Ba
ans =gydF4y2Ba
1.8014 e + 16gydF4y2Ba
> >格式longgydF4y2BaggydF4y2Ba
> >轮(2 ^ 54)gydF4y2Ba
ans =gydF4y2Ba
1.8014398509482 e + 16gydF4y2Ba
> > uint64 (2 ^ 54)gydF4y2Ba
ans =gydF4y2Ba
uint64gydF4y2Ba
18014398509481984gydF4y2Ba

登录置评。gydF4y2Ba


克里斯托BoutsikasgydF4y2Ba
克里斯托BoutsikasgydF4y2Ba 2020年4月21日gydF4y2Ba
还可以使用可变精度通过命令vpa算术。gydF4y2Ba
vpa (x)gydF4y2Ba%如果x是输出数量你是有趣的gydF4y2Ba
1评论gydF4y2Ba
沃尔特·罗伯森gydF4y2Ba
沃尔特·罗伯森gydF4y2Ba 2020年4月21日gydF4y2Ba
这就是史蒂文和我指我们讨论了符号工具箱。gydF4y2Ba

登录置评。gydF4y2Ba

标签gydF4y2Ba

社区寻宝gydF4y2Ba

找到宝藏在MATLAB中央,发现社区如何帮助你!gydF4y2Ba

开始狩猎!gydF4y2Ba

翻译的gydF4y2Ba