Page 1 of 1

[Résolu] fonction "tronquer' nspire

Unread postPosted: 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'

Unread postPosted: 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'

Unread postPosted: 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'

Unread postPosted: 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'

Unread postPosted: 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'

Unread postPosted: 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'

Unread postPosted: 08 Jul 2017, 10:58
by kadtexas
Les deux marchent très bien!
Merci

Re: fonction "tronquer'

Unread postPosted: 08 Jul 2017, 16:43
by Hamza.S
de rien