matlab - 将双 -8.451147490804935e+03 转换为 -8.451
Posted
技术标签:
【中文标题】matlab - 将双 -8.451147490804935e+03 转换为 -8.451【英文标题】:matlab - converting double -8.451147490804935e+03 TO -8.451 【发布时间】:2013-05-22 22:38:49 【问题描述】:我所做的任何尝试都将其转换为 8451.114+.... 而普通双精度(没有 e 且只有 4 位精度)是它们的原始值。
试过 str2num 双转换,sprintf 以及所有谷歌首页的想法:O
并且由于该值,我的整个矩阵被破坏了,因为它将其中的任何内容都转换为 精度并更改值。
谢谢
【问题讨论】:
提供一个重现问题的简单示例,并重写您的问题主体:几乎无法理解。 【参考方案1】:你输入:
format longG
在提示中
【讨论】:
同样的问题。数字由于某种原因更改为 *1000 我以为您遇到了格式问题。 matlab没有错。试着看看为什么计算会给出乘以 1000 的值。 数字在我猜之前已经改变...凌晨 2 点就足够了 :) 感谢您的帮助,明天继续【参考方案2】:作为替代方案,您也可以这样做:
format shortG
str2num('-8.451147490804935E+03')
【讨论】:
以上是关于matlab - 将双 -8.451147490804935e+03 转换为 -8.451的主要内容,如果未能解决你的问题,请参考以下文章