Page 1 sur 1

[Résolu] fonction "tronquer' nspire

Message non luPosté: 05 Juil 2017, 11:48
de 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'

Message non luPosté: 05 Juil 2017, 18:10
de 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'

Message non luPosté: 05 Juil 2017, 19:50
de 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'

Message non luPosté: 06 Juil 2017, 08:57
de 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'

Message non luPosté: 06 Juil 2017, 09:02
de 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'

Message non luPosté: 06 Juil 2017, 09:45
de Hamza.S
voilà 2 exemples :
la première avec ceiling() et floor() :
Code: Tout sélectionner
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: Tout sélectionner
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'

Message non luPosté: 08 Juil 2017, 10:58
de kadtexas
Les deux marchent très bien!
Merci

Re: fonction "tronquer'

Message non luPosté: 08 Juil 2017, 16:43
de Hamza.S
de rien