Page 1 of 1
[Résolu] fonction "tronquer' nspire
Posted:
05 Jul 2017, 11:48
by kadtexas
Bonjour
J'ai cherché sur le livre de référence TI-Nspire CX CAS la fonction "tronquer", en anglais je ne sais pas, (tronquer un résultat à n décimales) mais j'ai rien trouvé, ou j'ai rien vu!
La fonction "round" arrondit à n décimales mais par défaut ou par excès, ça ne me convient pas.
Merci pour confirmer ou infirmer.
Re: fonction "tronquer'
Posted:
05 Jul 2017, 18:10
by Hamza.S
salut,
si c'est en fonction des n valeurs décimales, seul round()
permet de faire ça.
si c'est en fonction de l'unité, tu as int()
, floor()
et ceiling()
à adapter selon la condition
Re: fonction "tronquer'
Posted:
05 Jul 2017, 19:50
by Ti64CLi++
int(
prend la partie entière, de même que
floor(
tandis que
ceiling(
prend la partie entière et renvoie l'entier au dessus
Re: fonction "tronquer'
Posted:
06 Jul 2017, 08:57
by kadtexas
Bonjour Hamza
J'ai besoin de ceci: tronquer(2.3457,2)====>2.34
tandis que: round(2.3457,2)====>2.35
Dommage que "tronquer" n'existe pas sur la ti nspire.
Re: fonction "tronquer'
Posted:
06 Jul 2017, 09:02
by Hamza.S
rien ne t'empêche de créer ta propre fonction avec les fonctions que j'ai cité plus haut.
tu multiplies par 100 tu utilise floor()
puis tu divises par 100. et avec les nombres négatifs ça sera surement ceiling()
au lieu de floor()
. ça ne devrait pas prendre plus de 5 lignes, je crois même qu'une ligne suffit.
Re: fonction "tronquer'
Posted:
06 Jul 2017, 09:45
by Hamza.S
voilà 2 exemples :
la première avec ceiling() et floor() :
- Code: Select all
tronquer(ex,n):=when(ex>=0,floor(ex*10^n)/10^n,ceiling(ex*10^n)/10^n,ex)
la deuxième, transformation en chaîne de caractères :
- Code: Select all
Define tronquer(ex,n)=
Func
Local p,exs
exs:=string(ex)
p:=inString(exs,".")
when(p>0,expr(left(exs,p+n)),ex,ex)
EndFunc
(je n'ai pas testé tous les cas possible)
Re: fonction "tronquer'
Posted:
08 Jul 2017, 10:58
by kadtexas
Les deux marchent très bien!
Merci
Re: fonction "tronquer'
Posted:
08 Jul 2017, 16:43
by Hamza.S
de rien