Re: Converting strings to numbers

From: Dave Allured <dave.allured_at_nyahnyahspammersnyahnyah>
Date: Thu, 30 Nov 2006 10:36:06 -0700

Ok, thanks Dennis. I will do what I need to do. I'm parsing an
attribute string from a Netcdf file, so writing out to an ascii file
and reading back seems, well, just not quite right. ;-)

--Dave

Dennis Shea wrote:
>> I need to convert strings to integers or reals. Type converters like
>> stringtoint() will do this. However, I need better error control than that
>> function provides, because I am trying to validate unknown data.
>>
>> For example, "12x3" would be misinterpreted as the number 12 because
>> stringtoint() apparently stops parsing when it reaches a non-digit, then
>> merrily outputs a number with no problem indication.
>>
>> Is there any way in NCL, short of parsing every character myself, to check
>> whether a complete string is a valid number? I need a true/false result so
>> that my program can take special action, not just an error message from NCL.
>> The query functions like isnumeric() check variable type, not string contents.
>>
>> Thank you for any advice.
>> _______________________________________________
>
> I don't think that without parsing there is a way.
> fortran, c, idl, ... would require that the
> user specift the format.
>
> I am sure this is totally wrong ... but if the strings are
> on a file, say "z.asc"
>
> /home/shea> ncl
> Copyright (C) 1995-2006 - All Rights Reserved
> University Corporation for Atmospheric Research
> NCAR Command Language Version 4.2.0.a034
> The use of this software is governed by a License Agreement.
> See http://www.ncl.ucar.edu/ for more details.
> ncl 0> s = asciiread("z.asc", -1, "integer")
> ncl 1> print(s)
>
> Variable: s
> Type: integer
> Total Size: 8 bytes
> 2 values
> Number of Dimensions: 1
> Dimensions and sizes: [2]
> Coordinates:
> (0) 12
> (1) 3
>
> ncl 2> dims = dimsizes(s)
> ncl 2> print(dims)
>
> Variable: dims
> Type: integer
> Total Size: 4 bytes
> 1 values
> Number of Dimensions: 1
> Dimensions and sizes: [1]
> Coordinates:
> (0) 2
> _______________________________________________
> ncl-talk mailing list
> ncl-talk_at_ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

_______________________________________________
ncl-talk mailing list
ncl-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Nov 30 2006 - 10:36:06 MST

This archive was generated by hypermail 2.2.0 : Thu Nov 30 2006 - 14:52:19 MST