stringToFloat static method
Implementation
static double stringToFloat( String str, int top, ParamInteger stop ){
int step = 0;
int i = top;
bool _break = false;
while( i < str.length ){
switch( step ){
case 0:
if( (charAt( str, i ) == '+') || charAt( str, i ) == '-' ){
i++;
}
step++;
break;
case 1:
case 3:
case 5:
if( (charCodeAt( str, i ) >= charCode0) && (charCodeAt( str, i ) <= charCode9) ){
i++;
} else {
step++;
}
break;
case 2:
if( charAt( str, i ) == '.' ){
i++;
step = 3;
} else {
step = 4;
}
break;
case 4:
if( (charAt( str, i ) == 'e') || (charAt( str, i ) == 'E') ){
if( (charCodeAt( str, i + 1 ) >= charCode0) && (charCodeAt( str, i + 1 ) <= charCode9) ){
i++;
step = 5;
break;
}
if( (charAt( str, i + 1 ) == '+') || charAt( str, i + 1 ) == '-' ){
i += 2;
step = 5;
break;
}
}
// そのまま下に流す
continue case_6;
case_6:
case 6:
_break = true;
break;
}
if( _break ){
break;
}
}
stop.set( i );
if( i == 0 ){
return 0;
}
return double.parse( str.substring( top, i ) );
}