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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,像'0.268843750000D+03'或者'-0.130385160446D-07'这样已经以科学计数法表示的字符串,我想把它转化成它所表示的双精度数字,在MATLAB里有处理这样问题的函数吗?! h+ q% |2 z& _! w) m# V
& P, B  V$ D# k& q/ x/ c

% W% |& j9 x9 h: ^7 g! X9 r& V6 o" x
我试过str2double()函数,但这样得出来的结果总是显示NaN,所以想请教一下这类问题应该如何处理 / j# c, F/ r# Y7 b7 O7 n/ E( }

: M) o: P& r; L" E$ e8 Q; z: a
  • x='0.250215843477D+00'
  • x =
  • 0.250215843477D+00
  • >> x=str2double(x)
  • x =
  •    NaN
    # v2 b% o1 K, _& B% w, p

) }8 A6 Z, s8 ~5 N
  F) ]: r* P5 ]5 O6 @8 x+ K1 z6 M# A5 l/ R# [! `( \1 ^% o5 x8 R

, m, @; r& E* W5 w9 z5 B

该用户从未签到

3#
发表于 2020-7-30 19:36 | 只看该作者
你哪个D,matlab好像不认。
+ T6 E& B2 k& [6 e! S* ?; j, P你吧D换成e
; {3 `1 _, Q" y6 r  I>> num = strfind(x,'D');
2 j; B( B7 t7 t( F) z( N>> x(num) = 'e'6 J/ N" D* w' V+ y9 m

/ e8 o! o5 X! x2 a; V1 R) D$ V0 L! |x =
7 a) A! T6 X" x# k$ G2 B; q* y7 v. P, Y" Y/ G
0.250215843477e+00
& _* S- a+ r$ @6 J+ k  k* i1 E9 O/ j8 z* G
1 S% d" A8 f* E0 G0 |1 C>> str2double(x) %精度自己设置# p: `$ v+ R* j) d. w  g

- {  \$ v$ Q9 q5 V4 ]+ o- Dans =
. u% B. `/ [" a, ^+ @# o; Y
3 e! H! h8 R- N( }3 ?' |    0.2502
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-24 16:37 , Processed in 0.109375 second(s), 26 queries , Gzip On.

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

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

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