suplibxx  1.3.9
str2i.cc
1 // --8<--8<--8<--8<--
2 //
3 // Copyright (C) 2006 Smithsonian Astrophysical Observatory
4 //
5 // This file is part of suplibxx
6 //
7 // suplibxx is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU General Public License
9 // as published by the Free Software Foundation; either version 2
10 // of the License, or (at your option) any later version.
11 //
12 // suplibxx is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the
19 // Free Software Foundation, Inc.
20 // 51 Franklin Street, Fifth Floor
21 // Boston, MA 02110-1301, USA
22 //
23 // -->8-->8-->8-->8--
24 
25 #include <limits.h>
26 #include "str.h"
27 
40 int suplib::str2i( const char* txt, int base ) throw( Exception ) {
41 
42  try {
43 
44  long lresult = str2l( txt, base );
45 
46  if ( lresult < INT_MIN || INT_MAX < lresult )
47  throw Exception( "suplib::str2i( " + string( txt ) + "int ) "
48  "Integer out of range" );
49 
50  return (int) lresult;
51 
52  } catch( Exception& E ) {
53 
54  throw;
55 
56  }
57 
58 }
long str2l(const char *txt, int base=10)
convert string to long number
Definition: str2l.cc:44
int str2i(const char *txt, int base=10)
convert string to integer number
Definition: str2i.cc:40