Arrondissement

code_vb_source Messages postés 44 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 31 mars 2011 - 6 mars 2010 à 17:08
cs_christoni Messages postés 140 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 novembre 2010 - 6 mars 2010 à 20:45
Selem,
je cherche comment faire un arrondissement d'un nombre sous VB.NET pour n'afficher que 3 chiffres à droite de la virgule.

3 réponses

Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
6 mars 2010 à 17:40
salam
avec la fonction math.round

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie
0
Claiyah Messages postés 580 Date d'inscription mercredi 20 août 2008 Statut Membre Dernière intervention 20 avril 2010 3
6 mars 2010 à 17:43
exemple:
dim vbfrance as double = Math.Round(2.817, 2)

vbfrance = 2.82

Quand on pose une question on est con 5 minutes,Quand on ne la pose pas on le reste toute sa vie
0
cs_christoni Messages postés 140 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 novembre 2010 7
6 mars 2010 à 20:45
Bonsoir,
et pour l'esthétisme : pour ceux qui préfèrent par exemple "12,100" au lieu de "12.1"
Voici une autre façon de faire et l'explication dans le code.
Pour tester 3 TextBox, le 1 pour entrer la valeur et les autres pour visualiser le résultat et un Button pour lancer la procédure :
Public Class Form1
    '*** Clonage des "Options régionales" du panneau de configuration.
    '    (CultureInfo représentant la culture de l'ordinateur). 
    Public maCI As Globalization.CultureInfo = Globalization.CultureInfo.CurrentCulture
    Public maCIclone As Globalization.CultureInfo = CType(maCI.Clone(), Globalization.CultureInfo)

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        '*** Utilisation du clone pour modifier certains paramètres de la culture de base
        '    qui s'appliqueront à la culture du thread en cours.
        '    On accepte le "." comme séparateur décimal, pour les machines qui ont
        '    dans leur configuration, la culture française. (Dans cette config., la conversion
        '    de String en Décimal n'accepte pas le ".", comme d'ailleurs toutes les 
        '    autres fonctions de conversion (CType,...), la fonction Parse, 
        '    les mise en forme ToString.)
        '    (Voir Panneau de configuration --> Options régionales, date, heure et langue
        '    --> Options régionales et linguistiques --> Personnaliser (symbole décimal)).
        '    On pourra donc employer le "." du pavé numérique pour entrer un nombre 
        '    à décimales.
        '*** Pour la présentation des données, on concerve les paramètres de base, soit
        '      la "," comme séparateur décimal.
        '*** En résumé, on utilise la culture clonée pour le traitement, et la
        '    culture de base de l'ordinateur pour la présentation.
        maCIclone.NumberFormat.NumberDecimalSeparator = "."
        Threading.Thread.CurrentThread.CurrentCulture = maCIclone

        Dim d As Double = CDbl(TextBox1.Text)
        TextBox2.Text = d.ToString("N3", maCI)
        TextBox3.Text = CStr(Math.Round(d, 3))
    End Sub
End Class 
0