How to convert char into double?

Hello everyone,
I have following char: "2.311.592 /" And I want to convert it to double and leave numbers only, I have tried to use
new = str2double(val);
But the output was NaN, what would you recommend me to do?

3 个评论

Your character number got two points?
Which number do you expect as output?
@Jan Simon
I expect the whole number without dots and slashes, i.e. 2311592.
Thank you.

请先登录,再进行评论。

 采纳的回答

Str = '2.311.592 /';
Str(Str < '0' | Str > '9') = [];
Value = sscanf(Str, '%d');

更多回答(2 个)

with str2double
out = str2double(regexp(val,'\d*','match'))

5 个评论

Thank you so much! It's very helpful
I have the following char str= 'v: 43.3414 m^3/kg'
out = str2double(regexp(val,'\d*','match'))
out =
43 3414 3
how could it be converted to double without eleminating the decimal point ?
thanks in advance
I need the value 43.3414 only
str = 'v: 43.3414 m^3/kg';
a = sscanf(str, 'v: %f')
a = 43.3414

请先登录,再进行评论。

Whashak Faeid
Whashak Faeid 2020-8-25

0 个投票

How can I change '$11.75' this data type from char to doube.I want my output $11.75 as a double in data type.
Thanks in advance.

类别

帮助中心File Exchange 中查找有关 Data Type Conversion 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by