找回密码
 注册
关于网站域名变更的通知
查看: 449|回复: 2
打印 上一主题 下一主题

这是关于一个数据类型转换的问题:请问科学计数法表示的字符串怎样转化成双精度数据?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-7-30 13:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
如题,像'0.268843750000D+03'或者'-0.130385160446D-07'这样已经以科学计数法表示的字符串,我想把它转化成它所表示的双精度数字,在MATLAB里有处理这样问题的函数吗?
; m- z7 r  e+ K
# a% V0 f; h+ Y# U5 P4 N* [: R 8 {: F9 [! \, z4 H

5 S- U9 d+ }+ t- v9 D* `我试过str2double()函数,但这样得出来的结果总是显示NaN,所以想请教一下这类问题应该如何处理
- N; g0 _% _" V9 m; F" R8 M) v  N2 C
  • x='0.250215843477D+00'
  • x =
  • 0.250215843477D+00
  • >> x=str2double(x)
  • x =
  •    NaN
    / w4 H( L( R' `4 Z

1 v9 ?' g4 }7 e
$ T- w2 u; |, K* p) w
4 e0 J: g3 U: d! V, D) D" O: o1 B9 m$ Y: n

该用户从未签到

3#
发表于 2020-7-30 19:36 | 只看该作者
你哪个D,matlab好像不认。/ E$ }4 ?, N! ~
你吧D换成e
: o7 Y3 f. d3 x0 h>> num = strfind(x,'D');
7 F) U4 T2 p* }) E9 w>> x(num) = 'e'7 H/ Q9 R3 K0 u. [% f# l

+ U% Z4 E' ]0 ax =
2 m* o% F$ X; z' P; c; T- |$ Q& X8 n" C# d
0.250215843477e+00  |8 J* i5 u$ N! B
1 p5 I! b) x3 J% U1 i! ?" z
>> str2double(x) %精度自己设置
. F% [+ c/ @; v/ O. M( ?5 y+ P
) {* @' P; w6 D2 G! lans =
( Y2 H$ d: o1 }: u2 D% b, I) E
% u; x9 T* Y, I  W- @    0.2502
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-26 09:03 , Processed in 0.109375 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表