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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
如题,像'0.268843750000D+03'或者'-0.130385160446D-07'这样已经以科学计数法表示的字符串,我想把它转化成它所表示的双精度数字,在MATLAB里有处理这样问题的函数吗?
7 @/ [: Q6 ]$ k. a, a; W+ c1 w& N* F' d% c% j

; g- k$ d7 A" {4 Y6 B, U  E# P$ E& X/ E4 V2 w# Q
我试过str2double()函数,但这样得出来的结果总是显示NaN,所以想请教一下这类问题应该如何处理 % O" l; i6 S0 A( l% m/ k! q% A. B* X

9 L5 w* \/ ^9 S
  • x='0.250215843477D+00'
  • x =
  • 0.250215843477D+00
  • >> x=str2double(x)
  • x =
  •    NaN
    ( O8 B" d: M2 A8 b) o* x

& @$ P: ?- ]% O7 t5 U
/ c: ]" a/ g4 A; [* e( p  g3 P/ }$ D
2 f+ t3 a4 C+ B8 S# x$ ?, M2 Z8 C

该用户从未签到

3#
发表于 2020-7-30 19:36 | 只看该作者
你哪个D,matlab好像不认。
, F. z9 a0 E) z你吧D换成e3 L8 ?3 Y: N7 {4 u# X6 o$ Y
>> num = strfind(x,'D');
' |' Q6 b4 t: n" m$ g2 ]% D>> x(num) = 'e'
$ E4 ~' M2 X! m  ?- A' p: Z
7 Q) Q8 [/ O& U- l% ]# Dx =
: S2 n6 [. w5 g( [; ?5 Y+ q" _8 i# J0 D
0.250215843477e+00
/ F& ~! J8 e# B' G& Y' a0 H+ B8 b+ y- G& |* L: M
>> str2double(x) %精度自己设置
7 ]" a" `2 n# W! O1 K& k9 S' x9 `  d' E/ `: C1 m* h) ^
ans =. J8 w4 R/ o% h3 R
, W% a, w+ d, W' h' `( E. W) T: x
    0.2502
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 17:09 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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