> Bonjour, il y a apparamment un probleme de parsing des chaines dans la
> fonction int_of_string : les espaces precedents (ou suivant) les nombres
> ne sont pas eliminer. En revanche, il le sont dans la fonction
> float_of_string :
> Est-ce voulu ? Si oui, pourquoi avoir introduit cette difference ?
Ce n'est pas vraiment voulu. La fonction int_of_string est
implémentée dans le runtime Caml, et effectue un parsing précis de la
chaîne argument. En revanche, float_of_string est un appel à la
fonction atof() de la bibliothèque C standard, laquelle effectue un
parsing un peu plus lâche de la chaîne, avec espaces optionnels au
début. Aussi, atof() n'échoue jamais, mais renvoie 0.0 pour une
chaîne mal formée.
Il ne serait pas difficile de "durcir" float_of_string par une passe
de vérification supplémentaire; mais est-ce bien la peine?
- Xavier Leroy
This archive was generated by hypermail 2b29 : Mon Mar 06 2000 - 14:33:52 MET