Quelqu'un pourrait-il me dire comment faire pour
1°) séparer la partie entière et la partie décimale d'un nombre ?
2°) arrondir à l'unité supérieure si = ou > 0.50 ou arrondir unité
inférieure si < à 0.50
Merci d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric
" jean luc" écrivait news:4093ee95$0$22990 $:
Bonjour,
Quelqu'un pourrait-il me dire comment faire pour 1°) séparer la partie entière et la partie décimale d'un nombre ? 2°) arrondir à l'unité supérieure si = ou > 0.50 ou arrondir unité inférieure si < à 0.50 Merci d'avance.
Bonjour
Si tu veux la partie entière, utilise la fonction Ent() ou Int() et pour arrondir à 2 décimales en respectant ta règle : Arrond() ou Round() Exemple : a = 12,34987 Int(a) retourne 12 Round(a) retourne 12,35
si a = 12,344987, Round(a) renvoie : 12,34
A+ Eric
" jean luc" <leybaertjl@hotmail.com> écrivait news:4093ee95$0$22990
$a0ced6e1@news.skynet.be:
Bonjour,
Quelqu'un pourrait-il me dire comment faire pour
1°) séparer la partie entière et la partie décimale d'un nombre ?
2°) arrondir à l'unité supérieure si = ou > 0.50 ou arrondir unité
inférieure si < à 0.50
Merci d'avance.
Bonjour
Si tu veux la partie entière, utilise la fonction Ent() ou Int()
et pour arrondir à 2 décimales en respectant ta règle : Arrond() ou Round()
Exemple :
a = 12,34987
Int(a) retourne 12
Round(a) retourne 12,35
Quelqu'un pourrait-il me dire comment faire pour 1°) séparer la partie entière et la partie décimale d'un nombre ? 2°) arrondir à l'unité supérieure si = ou > 0.50 ou arrondir unité inférieure si < à 0.50 Merci d'avance.
Bonjour
Si tu veux la partie entière, utilise la fonction Ent() ou Int() et pour arrondir à 2 décimales en respectant ta règle : Arrond() ou Round() Exemple : a = 12,34987 Int(a) retourne 12 Round(a) retourne 12,35
si a = 12,344987, Round(a) renvoie : 12,34
A+ Eric
Eric
Me suis manqué sur la question 2 et j'ai pas tout donné sur la question 1
Complément pour le 1: a-int(a) devrait faire l'affaire
Pour le 2 qui ne respecte pas la règle, il te suffit de prendre la partie entiere si la partie decimale est < 0.5 sinon tu prends l'arrondi
Exemple:
Sub test() Dim a As Double, b as integer, r as double, c as integer a = 12,50001 b = Int(a) r = a - b If r < 0.5 Then c = Int(a) Else c = Round(a) End If Debug.Print a, b, c, r End Sub
ca donne : 12,50001 12 13 0,50001
avec a = 12.49987 12,49987 12 12 0,49987
Eric
Bonjour
Si tu veux la partie entière, utilise la fonction Ent() ou Int() et pour arrondir à 2 décimales en respectant ta règle : Arrond() ou Round() Exemple : a = 12,34987 Int(a) retourne 12 Round(a) retourne 12,35
si a = 12,344987, Round(a) renvoie : 12,34
A+ Eric
Me suis manqué sur la question 2 et j'ai pas tout donné sur la question 1
Complément pour le 1:
a-int(a) devrait faire l'affaire
Pour le 2 qui ne respecte pas la règle, il te suffit de prendre la partie
entiere si la partie decimale est < 0.5 sinon tu prends l'arrondi
Exemple:
Sub test()
Dim a As Double, b as integer, r as double, c as integer
a = 12,50001
b = Int(a)
r = a - b
If r < 0.5 Then
c = Int(a)
Else
c = Round(a)
End If
Debug.Print a, b, c, r
End Sub
ca donne :
12,50001 12 13 0,50001
avec a = 12.49987
12,49987 12 12 0,49987
Eric
Bonjour
Si tu veux la partie entière, utilise la fonction Ent() ou Int()
et pour arrondir à 2 décimales en respectant ta règle : Arrond() ou
Round() Exemple :
a = 12,34987
Int(a) retourne 12
Round(a) retourne 12,35
Me suis manqué sur la question 2 et j'ai pas tout donné sur la question 1
Complément pour le 1: a-int(a) devrait faire l'affaire
Pour le 2 qui ne respecte pas la règle, il te suffit de prendre la partie entiere si la partie decimale est < 0.5 sinon tu prends l'arrondi
Exemple:
Sub test() Dim a As Double, b as integer, r as double, c as integer a = 12,50001 b = Int(a) r = a - b If r < 0.5 Then c = Int(a) Else c = Round(a) End If Debug.Print a, b, c, r End Sub
ca donne : 12,50001 12 13 0,50001
avec a = 12.49987 12,49987 12 12 0,49987
Eric
Bonjour
Si tu veux la partie entière, utilise la fonction Ent() ou Int() et pour arrondir à 2 décimales en respectant ta règle : Arrond() ou Round() Exemple : a = 12,34987 Int(a) retourne 12 Round(a) retourne 12,35
si a = 12,344987, Round(a) renvoie : 12,34
A+ Eric
Eric
Eric écrivait :
Sub test() Dim a As Double, b as integer, r as double, c as integer a = 12,50001 b = Int(a) r = a - b If r < 0.5 Then c = Int(a) Else c = Round(a) End If Debug.Print a, b, c, r End Sub
mais c'est pas bon pour 12.5 donc faut encore corriger et mettre :
c = Round(a+0.001)
J'y reviens plus dessus et j'entends déjà les critiques sifflées aux oreilles. Doit y avoir certainement mieux.
Eric <f_framZZ@hotmail.com> écrivait :
Sub test()
Dim a As Double, b as integer, r as double, c as integer
a = 12,50001
b = Int(a)
r = a - b
If r < 0.5 Then
c = Int(a)
Else
c = Round(a)
End If
Debug.Print a, b, c, r
End Sub
mais c'est pas bon pour 12.5 donc faut encore corriger et mettre :
c = Round(a+0.001)
J'y reviens plus dessus et j'entends déjà les critiques sifflées aux
oreilles. Doit y avoir certainement mieux.
Sub test() Dim a As Double, b as integer, r as double, c as integer a = 12,50001 b = Int(a) r = a - b If r < 0.5 Then c = Int(a) Else c = Round(a) End If Debug.Print a, b, c, r End Sub
mais c'est pas bon pour 12.5 donc faut encore corriger et mettre :
c = Round(a+0.001)
J'y reviens plus dessus et j'entends déjà les critiques sifflées aux oreilles. Doit y avoir certainement mieux.
3stone
Salut,
"Eric"
J'y reviens plus dessus et j'entends déjà les critiques sifflées aux oreilles. Doit y avoir certainement mieux.
J'ai pas compris... ou alors tout simplement :
a = 1.5 debug.print int(a+ 0.5) => 2
a = 1.499999 debug.print int(a + 0.5) => 1
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Salut,
"Eric"
J'y reviens plus dessus et j'entends déjà les critiques sifflées aux
oreilles. Doit y avoir certainement mieux.
J'ai pas compris... ou alors tout simplement :
a = 1.5
debug.print int(a+ 0.5)
=> 2
a = 1.499999
debug.print int(a + 0.5)
=> 1
--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
J'y reviens plus dessus et j'entends déjà les critiques sifflées aux oreilles. Doit y avoir certainement mieux.
J'ai pas compris... ou alors tout simplement :
a = 1.5 debug.print int(a+ 0.5) => 2
a = 1.499999 debug.print int(a + 0.5) => 1
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Eric
Bonsoir Pierre
Ayant mal interprété le 1er post et étant parti (mentalement) sur la fonction Round(), je ne savais plus comment m'en sortir (horrible engrenage), d'autant plus que j'avais donné un exemple foireux. D'où mon autocritique.
Je savais bien qu'il y avait mieux et bien plus simple, tu en apportes la preuve ;-) A+ Eric
J'y reviens plus dessus et j'entends déjà les critiques sifflées aux oreilles. Doit y avoir certainement mieux.
J'ai pas compris... ou alors tout simplement :
a = 1.5 debug.print int(a+ 0.5) => 2
a = 1.499999 debug.print int(a + 0.5) => 1
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Bonsoir Pierre
Ayant mal interprété le 1er post et étant parti (mentalement) sur la
fonction Round(), je ne savais plus comment m'en sortir (horrible
engrenage), d'autant plus que j'avais donné un exemple foireux. D'où mon
autocritique.
Je savais bien qu'il y avait mieux et bien plus simple, tu en apportes la
preuve ;-)
A+
Eric
Ayant mal interprété le 1er post et étant parti (mentalement) sur la fonction Round(), je ne savais plus comment m'en sortir (horrible engrenage), d'autant plus que j'avais donné un exemple foireux. D'où mon autocritique.
Je savais bien qu'il y avait mieux et bien plus simple, tu en apportes la preuve ;-) A+ Eric