Arrondir à la n-ième décimale? | |
François | 2-Mar-2011/13:19:47+1:00 |
Bonjour, Une question toute bête, mais comment puis-je arrondir un nombre à la n-ième décimale? Ex: 1.26558 --> 1.266 ? François | |
François | 2-Mar-2011/13:27:21+1:00 |
Je me répond à moi-mêmen-round: func [ value [number!] n [integer!] /local power-10 ] [ value: round multiply value power-10: power 10 n divide value power-10 ] | |
Philippe | 2-Mar-2011/14:01:28+1:00 |
Salut, Deux variantes : arrondi: func [ renvoit l'arrondi en fonction du nbre de decimales [catch] val [number!] "valeur a arrondir" /dec dec_num [integer!] "nbre de decimales" ][ throw-on-error [ dec_num: either none? dec_num [1] [10 ** dec_num] val: dec_num * val val: val + either positive? val [0.5][-0.5] val: val - (val // 1) val / dec_num ] ] ; autre forme de n-round n-round: func [ value [number!] /n num-dec [integer!] /local power-10 ] [ value: round multiply value power-10: either n [power 10 num-dec][1] divide value power-10 ] Il y a peut-être un moyen de mettre le nombre de decimales dans le path de la fonction : n-round/2 1.26558 . ===Philippe | |
coccinelle | 2-Mar-2011/16:48:54+1:00 |
Et pourquoi ne pas un tuliser bêtement la fonction round ???...>> help round USAGE: ROUND n /even /down /half-down /floor /ceiling /half-ceiling /to scale DESCRIPTION: Returns the nearest integer. Halves round up (away from zero) by default. ROUND is a function value. ARGUMENTS: n -- The value to round (Type: number money time) REFINEMENTS: /even -- Halves round toward even results /down -- Round toward zero, ignoring discarded digits. (truncate) /half-down -- Halves round toward zero /floor -- Round in negative direction /ceiling -- Round in positive direction /half-ceiling -- Halves round in positive direction /to -- Return the nearest multiple of the scale parameter scale -- Must be a non-zero value (Type: number money time) (SPECIAL ATTRIBUTES) catch >> round/to 1.26558 0.001 == 1.266 | |
François | 2-Mar-2011/16:56:19+1:00 |
Hooo.... J'avais pas capté la signification du raffinement /to Merci Marco | |
Login required to Post. |