Alors que depuis bientôt 15 jours je pianote avec enthousiasme dans le Javascript, voilà que je me casse les dents sur un agaçant problème de virgule flottante. Jugez-en par vous-même:
Quand je demande:
- Code: Tout sélectionner
>>> 1.01-1
- Code: Tout sélectionner
0.010000000000000009
J'ai aussitôt été demander à Google qui m'a répondu goguenard que les utilisateurs du C# avaient les mêmes incohérences.
On me dit: définis tes varibables comme entières... Mais non! en fait voilà mon objectif:
je dispose en Javascript des méthodes parseInt(n) qui me renvoie la partie entière de [tex]n[/tex], et parseFloat(n) qui me renvoie la partie réelle (utile pour convertir une chaine de caractères). J'ai besoin d'exhumer la partie décimale de n uniquement. J'ai donc songé naturellement à la solution ParseFloat(n) - ParseInt(n)... Eh bah ça marche pas, à cause du problème sus-cité. Google n'a pas su répondre, aussi je voudrais savoir si vous avez le même problème sous Maple, et si certains d'entre vous auraient éventuellement une solution en JS.
Merci d'avance....
Edit: Au fait j'ai une solution mais ça ne répond pas au premier problème, ça ne fait que le contourner.
Il s'agit de convertir [tex]n[/tex] en chaîne de caractère justement (avec lesquelles Javascript est beaucoup plus à l'aise). Plus qu'à couper la virgule et tout ce qui vient après, avant d'utiliser parseFloat(chaîne) pour la retransformer en nombre. Mais on m'ôtera pas l'opinion que c'est moins élégant.
