Bonjour.
La fonction round de vb me renvoie "presque" ce que je veux.
j'ai un textbox qui contient la valeur 10,255 (résultat d'une opération)
si je mets round(textbox,2) vb me renvoie 10,25 et moi je veux 10,26
Une idée? Alors merci
Bonjour.
La fonction round de vb me renvoie "presque" ce que je veux.
j'ai un textbox qui contient la valeur 10,255 (résultat d'une opération)
si je mets round(textbox,2) vb me renvoie 10,25 et moi je veux 10,26
Une idée? Alors merci
essaye avec la fonction format(MaValeur,"0.00")
Il fut un temps ou ..
l'important est la partie en rouge
j'ai solutionné par Round((10.255 + 0.0001), 2)
donc pour ton cas: Round((CSng(textbox)+ 0.0001), 2)
Bizarre...
MsgBox Round(CSng("10,255"), 2) renvoie bien 10,26 pourtant
La réponse de Delbeke est une bonne réponse.
Ne me plaisent par contre pas les virgules utilisées par les autres à la place d'un point ...
salut jmf
C'est vrai que format utilise le format numerique donné dans la configuration française de windows.
On peut la modifier mais ce n'est non plus satisfaisant. Ca genere pas mal de problemes dont on se serait bien passé.
D'accord : l'exemple n'est pas très catholique, mais hors contexte.Ne me plaisent par contre pas les virgules utilisées par les autres à la place d'un point ...
champ de saisi : "10,255" => l'utilisateur saisit une virgule (et c'est son droit) : le type saisi est un string
Avant le traitement Round(CSng(10.255), 2) => la virgule remplacée par le point, la saisie de l'utilisateur est convertie en numérique, et cela fonctionne. Je n'ai aucun problème d'arrondi, ni de type incompatible est systématisant cela =)
Je suis d'accord avec toi Phifi, d'ailleurs dans la plupart des logiciels ont saisi bien une virgule pour les décimales (système français) et le traitement a lieu derrière.Envoyé par Phifi
J'ai toujours travaillé comme ça et j'ai jamais rencontré de problème avec format(mavaleur,"##0.00") même si mavaleur est écrite avec une virgule.
Partager