|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 219 ![]() |
Salut à tous !
J'ai (sans doute) une bête question mais je n'ai pas trouver ce que je voulais... J'aimerais simplement avoir la partie entière d'un float, exemple : nombre = 45,7 J'aimerais trouver une fonction qui ne garde que la partie entière ... nombre_entier = fonction(nombre) => nombre_entier serait alors = à 45. MERCI !
__________________
The Molo |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 886 ![]() |
Salut,
Pour ne pas avoir d'arrondi il faut convertir le nombre en chaîne (s'il ne l'est pas déjà) puis faire un left. |
|
|
00
|
|
|
#3 |
![]() ![]() Inscription : avril 2007 Messages : 1 364 ![]() |
Bonjour
J'ai peut-être pas bien compris la question, mais la fonction int() ne suffisait pas ?
__________________
" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir." (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)Chuck Norris comprend JC Van Damme. ![]() |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 219 ![]() |
Merci de ta réponse !
Le problème pour le left, c'est que le nombre entier peut être de n'importe qu'elle dizaine (10,100,1000,...) Donc il me faudrait quelque chose pour avoir tout ce qui est avant la virgule alors ... As tu une idée ? Merci.
__________________
The Molo |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 886 ![]() |
Une petite recherche dans les fonctions vbscript... et tu tombes sur instr
roro06 cint ou formatnumber arrondissent 45.8 en 46. |
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : avril 2007 Messages : 1 364 ![]() |
Bonjour
j'ai parlé de la fonction int(), qui donne la partie entière d'un nombre, et non de la fonction cint() qui convertit un String en entier, et qui, effectivement, fait peut-etre un arrondi.
__________________
" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir." (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)Chuck Norris comprend JC Van Damme. ![]() |
|
|
00
|
|
|
#7 | ||
|
Membre du Club
![]() Inscription : avril 2007 Messages : 219 ![]() |
Je viens de penser à ceci :
Code :
__________________
The Molo |
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 886 ![]() |
Pardon j'étais dans mon trip j'ai cru à la faute de frappe... Si The Molo n'utilise pas les nombres négatifs pourquoi pas.
|
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 219 ![]() |
Si si justement je dois les utiliser ...
Ma méthode ci dessus serait bonne alors ?
__________________
The Molo |
|
|
00
|
|
|
#10 |
![]() ![]() Inscription : avril 2007 Messages : 1 364 ![]() |
... et s'il faut aussi gérer les négatifs, il vaut mieux utiliser fix()
__________________
" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir." (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)Chuck Norris comprend JC Van Damme. ![]() |
|
|
00
|
|
|
#12 | ||
|
Membre du Club
![]() Inscription : avril 2007 Messages : 219 ![]() |
Re,
Je travaille avec la méthode que j'avais expliqué ci dessus, à savoir : Code :
Mon unique problème avec cette méthode est que pour le décimal, il m'affecte pas la bonne valeur : Dans mon exemple : 45,7 Je devrais avoir : entier = 45 decimal=0,7 Mais j'obtiens : entier = 45 decimal=0,700000000000001 Avez vous une idée de comment je pourrais échapper à cela ? Merci beaucoup !
__________________
The Molo |
||
|
|
00
|
|
|
#13 |
![]() ![]() Inscription : avril 2007 Messages : 1 364 ![]() |
Si tu trouve une solution élégante à ce problème, ça m'interesse, car j'ai également le même problème actuellement, en javascript
__________________
" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir." (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)Chuck Norris comprend JC Van Damme. ![]() |
|
|
00
|
|
|
#14 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : mars 2004 Messages : 5 857 ![]() |
Salut,
Citation:
Citation:
A+ |
||
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 219 ![]() |
Oui oui mais ce n'est pas ce que je souhaite ....
Fix() me donne bien la partie entière ... Mais il faut aussi que je récupère la partie décimal ... Et lorsque je fais la soustraction, j'ai plein de chiffres après la virgule... Pour rappel : Num = 45.9 ce que je veux après traitement : Num_entier = 45 Num_decimal = 0.9 Merci !
__________________
The Molo |
|
|
00
|
|
|
#16 |
|
Membre du Club
![]() Inscription : avril 2007 Messages : 219 ![]() |
J'ai trouvé une solution :
nbr = 45.7 nbr = nbr - 0.5 nbr_entier = round(nbr) nbr_decimal = nbr - nbr_entier nbr_decimal = FormatNumber(nbr_decimal,1) Solution : nbr_entier = 45 nbr_decimal = 0.7 On arrondit quand même tout à la fin mais ça n'a pas d'importance pour moi car il ne me faut qu'un nombre après la virgule...
__________________
The Molo |
|
|
00
|
|
|
#17 | ||||
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 886 ![]() |
De tête (pas testé), une version numérique:
Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com