Comment utiliser expr float?
Je sais que c'est vraiment question stupide, mais je ne sais pas comment le faire en bash:
20 / 30 * 100
Il devrait être 66.67
mais expr est dire 0
, car il ne prend pas en charge float.
Quelle commande sous Linux peut remplacer expr et faire ce equalation?
- Désolé, mea culpa, mea maxima!
- pour les maths opérations, essayez d'utiliser la colombie-britannique ou awk , pas de bash ou expr
Vous devez vous connecter pour publier un commentaire.
Comme indiqué dans la page de manuel de bash:
Vous pouvez multiplier par 100 plus tôt pour obtenir un meilleur résultat partiel:
66
Ou par un multiple de 10, et d'imaginer la virgule où il appartient:
66666
bc
va le faire pour vous, mais l'ordre est important.ou, pour votre cas spécifique:
Quelle que soit la méthode que vous choisissez, c'est mûr pour l'inclusion comme une fonction pour rendre votre vie plus facile:
Je l'utilise perl:
perl -e 'print "hello world"'
ne fonctionne pas non plus. Maisperl -e 'print "hello world\n"'
ne fonctionne pas comme prévu., "\n"
à la fin de l'expression:perl -e 'print 10 / 3, "\n"'
python -c "print 10.0/3.0"
juste de le faire dans awk
enregistrer dans la variable
C'est une simplification de la réponse par paxdiablo. L'-l définit l'échelle (nombre de chiffres après la virgule) à 20. Il embarque également une bibliothèque de mathématiques avec des fonctions trigonométriques et d'autres choses.