1

Bonjour,

Je recherche une fonction permettant de tester qu'un résultat soit bien un entier, à la suite d'une division.
Je voulais aussi savoir s'il était possible d'explode les nombres en chiffres mis dans un tableau. (comme en php)

merci

2

tu peux soit faire le test avant ta division en testant que le reste est égal à zéro (fonction "mod"), ou bien faire le test après, sur le résultat, en vérifiant que la partie entière de ton nombre est bien égale au nombre lui-même (de tête, fonction "int" ou "floor", mais je ne suis pas sûr).

pour la deuxième question, a priori non (enfin pas en une seule fonction), mais ça dépend : sur quel critère tu veux exploser *un* nombre en tableau ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

Zephyr :
fonction "int" ou "floor",


Les deux mon capitaine happy

4

Ah oui, le modulo, je n'y avais pas pensé, merci.
Justement, je voulais savoir si l'on pouvait exploser le nombre, mais sans critères. Sinon, s'il y a une fonction existante fonctionnant avec critère, je prends aussi.

Merci

5

c'est-à-dire, tu veux faire 12345 -> {"1","2","3","4","5"} ? (ou {1,2,3,4,5})

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

6

Sous cette forme : {1,2,3,4,5}

7

mod(seq(intdiv(x,10^i),i,0,int(log(max(x,1)))),10) ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

8

J'ai une méthode mais complètement indigeste.

:explose(x)
:if x<>0 then
:mod(x,10)->liste[longueurliste+1]
:explose(int(x/10))
:endif


Elle est indigeste dans le cas où le p rogramme s'appelle plein de fois lui-même. C'est une base à améliorer...

[edit] code moins horrible

9

Okay merci, je vais tenter d'analyser vos deux formules.

10

allez parceque le basic c'est trop cool :
string(x)->str
seq(expr(mid(str,i,1)),i,1,dim(str))

(je convertis le nombre en chaine de caractere et je prend chaque caractere que je reconvertis à nouveau en nombre et je les met dans une liste)
ok, ça risque de pas aimer si on passe un nombre non entier dans x, mais je sais pas comment tu veux exploser un nombre décimal sous cette forme : {1, 2, 3, 4, 5}
avatar