J'essaie d'implémenter le calcul suivant dans un script Bash en utilisant "bc" mais l'option "scale" produit un résultat incorrect avec 2 zéros supplémentaires à la fin, ce qui signifie que je Je dois le couper manuellement (moche).calcul mathématique bash et bc avec virgule décimale
Calcul:
((2592000-239) ÷ 2592000) × 100
Résultat attendu: 99,990779321 (Mais je voudrais montrer que 2 décimales)
Dans Bash:
echo "scale=2; ((2592000-239)/2592000)*100" | bc
99.00
echo "scale=3; ((2592000-239)/2592000)*100" | bc
99.900
echo "scale=4; ((2592000-239)/2592000)*100" | bc
99.9900
echo "scale=5; ((2592000-239)/2592000)*100" | bc
99.99000
echo "scale=8; ((2592000-239)/2592000)*100" | bc
echo "scale=8; ((2592000-239)/2592000)*100" | bc
99.99077900
echo "scale=10; ((2592000-239)/2592000)*100" | bc
99.9907793200
Selon la page de manuel:
NUMÉROS L'élément le plus fondamental dans bc est le nombre. Les nombres sont des nombres de précision arbitraires. Cette précision est à la fois dans la partie entière et la partie fractionnaire. Tous les nombres sont représentés en en décimal et tout le calcul est fait en décimal. (Cette version tronque les résultats des opérations de division et de multiplication.) Il existe deux attributs de nombres, la longueur et l'échelle. La longueur est le nombre total de chiffres décimaux significatifs dans un nombre et l'échelle est le nombre total de chiffres décimaux après le point décimal. Par exemple: 0,000001 a une longueur de 6 et à l'échelle de 6. 1935,000 a une longueur de 7 et une échelle de 3.
Suis-je bien compris?
Génial merci, cela a du sens – Arturski