找回密码
 注册
8月份电巢直播计划
查看: 28|回复: 2

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

[复制链接]

该用户从未签到

发表于 2020-7-30 13:46 | 显示全部楼层 |阅读模式

EDA365欢迎您登录!

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

x
如题,像'0.268843750000D+03'或者'-0.130385160446D-07'这样已经以科学计数法表示的字符串,我想把它转化成它所表示的双精度数字,在MATLAB里有处理这样问题的函数吗?
: k2 a$ L  _% r0 z+ V3 ]
: S3 k* i( E$ R* c! V; j 1.png & r1 W2 R" b; ~5 S

7 @0 W/ b$ f% T6 ?+ F我试过str2double()函数,但这样得出来的结果总是显示NaN,所以想请教一下这类问题应该如何处理 : |- t- W* r5 R
) v/ Z$ l) a' e" ^- W6 S
  • x='0.250215843477D+00'
  • x =
  • 0.250215843477D+00
  • >> x=str2double(x)
  • x =
  •    NaN/ ]4 m) ^4 H, }6 G

' P) z& r, e, X0 f- \% j* `% `& r
: T. G; c" Q; h+ y! V$ S# k& k$ }: t1 p0 K* u6 q
. R( t0 t/ [' `" @. G

该用户从未签到

发表于 2020-7-30 19:36 | 显示全部楼层
你哪个D,matlab好像不认。& |1 c. [2 y2 _! Z9 j
你吧D换成e
  Y2 w3 _- x" u. j! h>> num = strfind(x,'D');; J6 j. Y1 {  I
>> x(num) = 'e'
& |8 h' f; C) f1 k( h- X4 y" r
$ s  f, @; P( Xx =# e! o( Y- `- q, ^
, l/ q- V7 z2 i* X3 u8 L
0.250215843477e+009 D8 ~2 ]/ x& m3 C$ D& C

" i, `! x; M# r/ `1 W>> str2double(x) %精度自己设置
" G+ _2 s0 N4 M2 W1 z( ^" I- ^6 t0 w) P- f
ans =
! \) g& g$ o3 m2 \  h4 ~3 V+ {* ]7 |
    0.2502
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2020-8-9 18:33 , Processed in 0.062500 second(s), 23 queries , Gzip On.

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

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

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