Voici le sommaire de cette page.
|
1 - La conversion de chaînes en nombres 2 - L'objet JavaScript Math 3 - Des exemples utiles |
La conversion de chaînes de caractères en nombres
Les fonctions de conversion
Une précédente page décrit en détail tous les traitements sur les chaînes de caractères.
En JavaScript, les variables ne sont pas typées, mais il est utile de savoir transformer une chaîne en un entier ou un réel (nombre à virgule).
Imaginons ce script :
var chaine="3.14";
var entier=parseInt(chaine);
var reel=parseFloat(chaine);
A l'issue de ce script, entier contient 3 et reel contient 3.14
Est-ce un nombre ?
Supposons maintenant que la variable chaine soit initialisée avec "azerty"
var chaine="azerty";
var entier=parseInt(chaine);
var reel=parseFloat(chaine);
var rate=isNaN(entier);
A l'issue du script, entier et reel contiennent NaN, car "azerty" ne peut pas se convertir en nombre.
Pour détecter que chaine a bien le format d'un nombre, il existe une fonction isNaN(valeur) qui renvoie :
- true si valeur n'est pas un nombre
- false si valeur est un nombre
Dans ce cas, rate est à vrai car la conversion a échoué.
ATTENTION, isNaN(valeur) retourne vrai si valeur N'est PAS un nombre
Ces trois fonctions (attention aux majuscules) sont très utiles pour manipuler des variables en étant sur d'avoir affaire à des nombres. Cela permet par exemple de convertir une saisie dans un formulaire et de vérifier que le visiteur a bien entré un nombre (prix, quantité, âge, année, ...)
L'objet JavaScript Math
En JavaScript, la plupart des fonctions mathématiques sont des méthodes de l'objet Math. (Voir la page JavaScript, langage Objet pour plus de détail sur la programmation Objet)
Un exemple
Voici sûrement la fonction la plus utilisée, la génération d'un nombre aléatoire.
var nb=Math.random();
La méthode random() est appliquée à l'objet Math et retourne un nombre compris entre 0 et 1. Toutes les autres fonctions mathématiques sont appelées sur le même principe.
Les fonctions de base
| Math.abs(a) | Retourne la valeur absolue de a |
| Math.round(a) | Retourne l'entier arrondi le plus proche de a |
| Math.ceil(a) | Retourne l'entier immédiatement supérieur (ou égal) à a |
| Math.floor(a) | Retourne l'entier immédiatement inférieur (ou égal) à a |
| Math.sqrt(a) | Retourne la racine carrée de a |
| Math.log(a) | Retourne le logarithme de a |
| Math.ln(a) | Retourne le logarithme népérien de a |
| Math.exp(a) | Retourne l'exponentielle de a |
| Math.pow(a,b) | Retourne a à la puissance b |
| Math.min(a,b) | Retourne le plus petit des paramètres a ou b |
| Math.max(a,b) | Retourne le plus grand des paramètres a ou b |
Réservées aux initiés !
| Math.cos() | Retourne le cosinus d'un angle en radians |
| Math.sin() | Retourne le sinus d'un angle en radians |
| Math.tan() | Retourne la tangente d'un angle en radians |
| Math.acos() | Retourne l'arc cosinus en radians |
| Math.asin() | Retourne l'arc sinus en radians |
| Math.atan() | Retourne l'arc tangente en radians |
Des exemples utiles
Générer un nombre aléatoire entier entre 1 et N
Imaginons le lancer de trois dés à 6 faces : function aleatoire(N) {
return (Math.floor((N)*Math.random()+1));
}
La fonction retourne un nombre aléatoire entier entre 1 et N
Une horloge dynamique à aiguilles
REMARQUES :
Ce paragraphe s'appelle Exemples utiles :)
Donc, vous n'y trouverez pas les scripts de calcul d'aires de triangles, cercles, losanges...
Ni les jeux sans intérêt "plus petit-plus grand", "devine un nombre", etc...
Une horloge à aiguilles, ca peut être marrant, non ? Et en plus, c'est très bon pour revoir la trigonométrie.
Télécharger le script
Un convertisseur francs-euros
Saisissez des francs ou des euros et cliquez sur "Convertir"
Utile pour les sites de commerce en ligne...
Télécharger le script
Aucun commentaire:
Enregistrer un commentaire