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")
En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
(ALEXANDRE DUMAS)
N'hésitez pas à visiter ma page de contributions
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)
Soyez sympa, pensez -y
Balises[CODE]...[/CODE]
Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Balises[C]...[/C] code intégré dans une phrase.
Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
👉 → → Ma page perso sur DVP ← ← 👈
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é.
En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
(ALEXANDRE DUMAS)
N'hésitez pas à visiter ma page de contributions
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager