Bonjour,
Le printf %.2f arrondit selon la 3ème décimale en occultant toutes les autres de droite.
De ce fait arrondir 0.444836 à 2 décimales, le résultat final est 0.44 au lieu de 0.45.
Donc cela m'oblige à arrondir à chaque décimale en boucle :
la valeur round5 permet à partir de 0.455 de donner 0.46 et non pas 0.45
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 round5=1000000; i=5; val=0.444836 val=$(printf %."$i"f $(echo "$val/1 +$i/($i*$round5)" | bc -l )) #val=0.44484 round5=$(echo "$round5 / 10" | bc); i=4; val=$(printf %."$i"f $(echo "$val/1 +$i/($i*$round5)" | bc -l )) #val=0.4448 printf %."3"f $(echo "0.4448/1 +3/(3*10000)" | bc -l ) 0.445 printf %."2"f $(echo "0.445/1 +2/(2*1000)" | bc -l ) 0,45
Existe-t-il svp une manière de faire plus simple ? ou une commande permettant d'obtenir le même résultat que mon usine à gaz ?








Répondre avec citation
Partager