Page 1 sur 1
[Résolu] fonction "tronquer' nspire
Posté:
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'
Posté:
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'
Posté:
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'
Posté:
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'
Posté:
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'
Posté:
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'
Posté:
08 Juil 2017, 10:58
de kadtexas
Les deux marchent très bien!
Merci
Re: fonction "tronquer'
Posté:
08 Juil 2017, 16:43
de Hamza.S
de rien