Bonjour les gens, j'ai une petite question à deux sous :
cho7@cho7land:~$ dc -e "2k 100 400 620 / 100 * - p"
36.00
cho7@cho7land:~$ dc -e "3k 100 400 620 / 100 * - p"
35.500
cho7@cho7land:~$ dc -e "4k 100 400 620 / 100 * - p"
35.4900
cho7@cho7land:~$ dc -e "5k 100 400 620 / 100 * - p"
35.48400
Comment dc réalise-t-il ses arrondis ? Car je souhaite une précision de deux chiffres après la virgule, mais quand je fais ça il m'arrondit tout au dessus ! Si je pousse la précision, alors il commence à afficher ce que je veux...
Si quelqu'un à une idée !
Merci.
# calcul simple
Posté par -=[ silmaril ]=- (site web personnel) . Évalué à 1.
$ dc -e "400 620 / p"
0
$ dc -e "2k 400 620 / p"
.64
$ dc -e "3k 400 620 / p"
.645
$ dc -e "4k 400 620 / p"
.6451
$ dc -e "5k 400 620 / p"
.64516
Déjà ça ne ressemble pas trop a des arrondis tout ça, les résultats auraient dût être 1, 0.65, 0,645, 06452.
[^] # Re: calcul simple
Posté par IsNotGood . Évalué à 3.
nk demande de faire les calculs juque la nième décimal. Pour faire l'arrondi, il faut faire plus... Ce que ne fait pas dc.
nk n'est pas la précision d'affichage, mais de calcul.
# Troncature
Posté par liberforce (site web personnel) . Évalué à 2.
[^] # Re: Troncature
Posté par cho7 (site web personnel) . Évalué à 1.
# man
Posté par cho7 (site web personnel) . Évalué à 2.
k Pops the value off the top of the stack and uses it to set the
precision.
Précision, c'est différent de arrondi ? Auquel cas peut-être que dc ne gère pas les arrondis, tout simplement :-/
[^] # Re: man
Posté par Pascal Terjan (site web personnel) . Évalué à 2.
[pterjan@plop perl-install]$ dc -e "2k 100 400 620 / 100 * - p"
36.00
[pterjan@plop perl-install]$ dc -e "2k 100 400 100 * 620 / - p"
35.49
Tu a sréduit la précision sur les calculs intermediaires aussi, donc le resultat de 400 620 / est tronqué et quand tu multiplies par 100 ensuite c'est trop tard
[^] # Re: man
Posté par IsNotGood . Évalué à 2.
dc ne le fait pas. bc non plus.
[^] # Re: man
Posté par Sarcastic . Évalué à 2.
[^] # Re: man
Posté par Sarcastic . Évalué à 2.
En fait, dans bc, c'est la variable scale (mise automagiquement à 20 avec -l) qui correspond à la précision, et y a pas d'arrondi non plus. Désolé d'avoir pollué.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.