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 Comments

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.

Sign in to comment.

 Accepted Answer

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

More Answers (2)

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

5 Comments

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

Sign in to comment.

Whashak Faeid
Whashak Faeid on 25 Aug 2020
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.

1 Comment

>> str = '$11.75';
>> val = sscanf(str,'$%f')
val = 11.750

Sign in to comment.

Categories

Products

Asked:

on 30 Sep 2016

Commented:

Jan
on 26 Apr 2022

Community Treasure Hunt

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

Start Hunting!