Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
Sujet: arrondir un nombre [résolu] Jeu 19 Mar 2020 - 9:24
bjr a tous
Comment je pourrai faire pour arrondir ces nombres au dixième 2.972 le passer a 3 c'est peut être bête comme question mais ce n'est pas si évident que ça
avec ce source cela ne fonctionne pas
Dim Get_Frac Get_Frac=2.902 print str$(frac(Get_Frac)) If frac(Get_Frac)=>0.05 then print "3.0" If frac(Get_Frac)<0.04 then print "2.9"
le source doit mettre get_frac a "2.9" merci pour votre aide
Dernière édition par pascal10000 le Ven 20 Mar 2020 - 5:31, édité 1 fois
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
Sujet: Re: arrondir un nombre [résolu] Jeu 19 Mar 2020 - 10:12
Bonjour à tous !
Essaie ceci, en espérant que cela corresponde à la question :
Code:
dim a a=2.942 a=a*10 a=INT(a+0.5) a=a/10 print a
Bonne programmation !
EDIT : J'ai ajouté +0.5 pour l'arrondi
2.972 donnera 3 2.902 donnera 2.9
EDIT n° 2 Version non développée :
Code:
dim a a=2.952 a=(INT((a*10)+0.5))/10 print a
silverman
Nombre de messages : 970 Age : 52 Localisation : Picardie Date d'inscription : 18/03/2015
Sujet: Re: arrondir un nombre [résolu] Jeu 19 Mar 2020 - 13:38
Sous forme de FNC:
Code:
dim mon_nombre, mon_nb
degrees mon_nombre=cos(89)
print mon_nombre
print round_float(mon_nombre,4) :' arrondir 4 chiffres après la virgule
END ' fnc round_float(round_float_mon_nb,round_float_decimales%) dim_local round_float_tmp% ' arrondi 'float' round_float_tmp%=round_float_mon_nb*power(10,round_float_decimales%) round_float_mon_nb=round_float_tmp%/(power(10,round_float_decimales%)) result round_float_mon_nb end_fnc
pascal10000
Nombre de messages : 812 Localisation : Troyes Date d'inscription : 05/02/2011
Sujet: Re: arrondir un nombre [résolu] Ven 20 Mar 2020 - 5:30
bjr a tous mon problème est résolu
voici l’algorithme qu'il fallait résoudre
dim Get_Pa Get_Pa=3.746 print mid$(Str$(frac(Get_Pa)),4,2)
If Val(mid$(Str$(frac(Get_Pa)),4,3))=>60 And Val(mid$(Str$(frac(Get_Pa)),4,3))=<90 then Get_Pa=Get_Pa+0.1 print Str$(Get_Pa)