File Exchange

image thumbnail

StringIsNumber

version 1.0.0.0 (597 Bytes) by Michael Robbins
STRINGISNUMBER returns 1 if the input string contains only a number and otherwise a zero.

0 Downloads

Updated 22 Nov 2004

No License

STRINGISNUMBER returns 1 if the input string contains only a number and otherwise a zero

Created as an example for the thread "How to determine if an inputfield contains chars or numbers ?"

USAGE:
>> StringIsNumber('aseea')
ans = 0
>> StringIsNumber('333')
ans = 1
>> StringIsNumber('333.123')
ans = 1
>> StringIsNumber('.123')
ans = 1
>> StringIsNumber('0.123')
ans = 1
>> StringIsNumber('0.123a')
ans = 0

IT'S NOT FANCY BUT IT WORKS

Cite As

Michael Robbins (2021). StringIsNumber (https://www.mathworks.com/matlabcentral/fileexchange/6283-stringisnumber), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)

Stephen Cobeldick

Simpler and faster,would be to use the inbuilt STR2DOUBLE:

>> ~isnan(str2double('aseea'))
ans = 0
>> ~isnan(str2double('333'))
ans = 1
>> ~isnan(str2double('333.123'))
ans = 1
>> ~isnan(str2double('.123'))
ans = 1
>> ~isnan(str2double('0.123'))
ans = 1
>> ~isnan(str2double('0.123a'))
ans = 0

Jan

Another idea:
[x, count, err, next] = sscanf(Str, '%g', 1);
isNumber = (count == 1) && (next == numel(Str) + 1);

Jaroslaw Tuszynski

Simple robust function. Does not recognize negetive numbers and scientific notation. Nice alternative to ~isempty(str2num(str)) approach which sametimes gives strange results (try str = 'sphere' ).

MATLAB Release Compatibility
Created with R14SP1
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

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

Start Hunting!