Salve come faccio a sapere se un double o un float scritto come stringa rispetta i limiti?
Ho provato a fare in questo modo ma il min non dovrebbe avere segno negativo?
Volevo sapere anche se è molto difficile avere un limite come fa java dove i suoi tipi non dipendono dal sistema in uso.codice:#define LIMITE_FLOAT_MIN numeric_limits<float>::min() //1.17549e-38 #define LIMITE_FLOAT_MAX numeric_limits<float>::max() //3.40282e+38 #define LIMITE_DOPPIO_MIN numeric_limits<double>::min() //2.22507e-308 #define LIMITE_DOPPIO_MAX numeric_limits<double>::max() //1.79769e+308 int main(int argc, char * argv[]) { string numero = "1.79769e+308"; double val = atof(numero.c_str()); if((val<LIMITE_DOPPIO_MIN) || (val>LIMITE_DOPPIO_MAX)) { //errore fuori limite } return 0; }
grazie