math_bits.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "math_bits.h"
00016
00017 #include <basis/astring.h>
00018
00019 using namespace basis;
00020
00021 namespace geometric {
00022
00023 astring crop_numeric(const astring &input)
00024 {
00025 astring to_return(input);
00026 for (int i = 0; i < to_return.length(); i++)
00027 if ( ( (to_return[i] >= '0') && (to_return[i] <= '9') )
00028 || (to_return[i] == '.')
00029 || (to_return[i] == '+') || (to_return[i] == '-')
00030 || (to_return[i] == 'E') || (to_return[i] == 'e') ) {
00031 to_return.zap(i, i);
00032 i--;
00033 } else break;
00034 return to_return;
00035 }
00036
00037 astring crop_non_numeric(const astring &input)
00038 {
00039 astring to_return(input);
00040 for (int i = 0; i < to_return.length(); i++)
00041 if ( ! ((to_return[i] >= '0') && (to_return[i] <= '9'))
00042 && (to_return[i] != '.')
00043 && (to_return[i] != '+') && (to_return[i] != '-')
00044 && (to_return[i] != 'E') && (to_return[i] != 'e') ) {
00045 to_return.zap(i, i);
00046 i--;
00047 } else break;
00048 return to_return;
00049 }
00050
00051 }
00052