IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

arrondi a 2 decimales par une fonction [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut arrondi a 2 decimales par une fonction
    Bonjour,
    Je voudrais que certaines valeurs affichées dans certaines textbox de mon appli soient arrondies a 2 decimales (concretement, si l'on tape 2 dans le textbox, celui ci afficherait 2.00)

    J'avais pour cela crée une fonction (tirée du "Lasserre")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Function Arrondir(ByVal Valeur As Double) As Double
    'arrondi a 2 chiffres après la virgule
    Return (Math.Round(Valeur * 100)) / 100
    End Function
    End
    cette procédure est elle adequate pour simplement arrondir des données (doubles) entrées au clavier dans des textbox ou puis je faire bien plus simple ?

    J'ai aussi essayé comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim monnombre As Double 
    Console.WriteLine(monnombre.ToString("0.00")) 'affichage avec 2 décimales
    mais cela ne fonctionne pas non plus

    Merci bien

  2. #2
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Ouais, mais là, non, c'est juste pas possible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.Format("{0:0.00}", tavaleur);
    http://www.csharp-examples.net/string-format-double/

  3. #3
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    oups croisement de topic.

    Alors je viens d'essayer mais arf j'ai du mal le placer car ca ne fonctionne toujours pas

  4. #4
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Tu peux poster ton code ?

    Car la syntaxe que je t'ai donné (au point virgule près, qu'il faut supprimer vu que t'es en VB.NET) ça devrait marcher...

  5. #5
    Membre éclairé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2005
    Messages : 608
    Par défaut
    en fait c'est tout simple ce n'est que du got focus et du lost focus avec une importation de données eventuelle.
    voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Imports OXL = Microsoft.Office.Interop.Excel
    Imports System.IO
    Imports System.Data.OleDb
    Imports System.Math
    Public Class Formcomp1m
        Dim ValUCDVA1M, ValS1M, ValUCNVA1M, ValC1M, ValA1M, ValK11M, ValK21M, ValQI1M, ValUCDVA1M2, ValUCNVA1M2, ValS1M2, ValC1M2, ValA1M2, ValK11M2, ValK21M2, ValQI1M2 As Double
        Private AppExcel As OXL.Application
        Private xlWorkbook As OXL.Workbook
        'feuille 1
        Private xlWorkSheetThree As OXL.Worksheet
        Private appPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
        Private Sub Formcomp1m_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            DecimalSeparator = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator
            UCDVA1M.Text = ""
            UCDVA1M.Refresh()
            UCDVA1M.BackColor = Color.Purple
        End Sub
        Private Sub UCDVA1M_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles UCDVA1M.GotFocus
            UCDVA1M.Text = ""
            UCDVA1M.Refresh()
            UCDVA1M.BackColor = Color.Purple
        End Sub
        Private Sub UCDVA1M_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles UCDVA1M.LostFocus
            UCDVA1M.BackColor = Color.LightSlateGray
        End Sub
        Private Sub UCNVA1M_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles UCNVA1M.GotFocus
            UCNVA1M.Text = ""
            UCNVA1M.Refresh()
            UCNVA1M.BackColor = Color.Purple
        End Sub
        Private Sub UCNVA1M_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles UCNVA1M.LostFocus
            UCNVA1M.BackColor = Color.LightSlateGray
        End Sub
        Private Sub S1M_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles S1M.GotFocus
            S1M.Text = ""
            S1M.Refresh()
            S1M.BackColor = Color.Purple
        End Sub
    Private Sub S1M_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles S1M.LostFocus
            S1M.BackColor = Color.LightSlateGray
        End Sub
    le reste du code n'est que de l'importation de données via un formulaire excel.
    Ce que je voudrais donc, c'est que S1M et UCNVA1M soient arrondis a 2 decimales. Pas les autres valeurs

    Grand merci

  6. #6
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Et ça, ça marche pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Imports OXL = Microsoft.Office.Interop.Excel
    Imports System.IO
    Imports System.Data.OleDb
    Imports System.Math
    Public Class Formcomp1m
        Dim ValUCDVA1M, ValS1M, ValUCNVA1M, ValC1M, ValA1M, ValK11M, ValK21M, ValQI1M, ValUCDVA1M2, ValUCNVA1M2, ValS1M2, ValC1M2, ValA1M2, ValK11M2, ValK21M2, ValQI1M2 As Double
        Private AppExcel As OXL.Application
        Private xlWorkbook As OXL.Workbook
        'feuille 1
        Private xlWorkSheetThree As OXL.Worksheet
        Private appPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
        Private Sub Formcomp1m_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            DecimalSeparator = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator
            UCDVA1M.Text = String.Format("{0:0.00}", ValUCDVA1M2)
            UCDVA1M.Refresh()
            UCDVA1M.BackColor = Color.Purple
        End Sub
        Private Sub UCDVA1M_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles UCDVA1M.GotFocus
            UCDVA1M.Text = String.Format("{0:0.00}", ValUCDVA1M2)
            UCDVA1M.Refresh()
            UCDVA1M.BackColor = Color.Purple
        End Sub
        Private Sub UCDVA1M_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles UCDVA1M.LostFocus
            UCDVA1M.BackColor = Color.LightSlateGray
        End Sub
        Private Sub UCNVA1M_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles UCNVA1M.GotFocus
            UCNVA1M.Text = String.Format("{0:0.00}", ValUCDVA1M2)
            UCNVA1M.Refresh()
            UCNVA1M.BackColor = Color.Purple
        End Sub
        Private Sub UCNVA1M_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles UCNVA1M.LostFocus
            UCNVA1M.BackColor = Color.LightSlateGray
        End Sub
        Private Sub S1M_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles S1M.GotFocus
            S1M.Text = String.Format("{0:0.00}", ValS1M2)
            S1M.Refresh()
            S1M.BackColor = Color.Purple
        End Sub
    Private Sub S1M_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles S1M.LostFocus
            S1M.BackColor = Color.LightSlateGray
        End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA]Affectation d'une valeur à une cellule par une fonction
    Par lallougri dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/02/2006, 14h24
  2. retourner un vector a 2 dimensions par une fonction
    Par Psykotik dans le forum SL & STL
    Réponses: 7
    Dernier message: 18/11/2005, 17h45
  3. Réponses: 11
    Dernier message: 31/10/2005, 17h59
  4. [LG]résultat renvoyé par une fonction
    Par le 27 dans le forum Langage
    Réponses: 3
    Dernier message: 10/12/2003, 10h31
  5. tableau javascript ecrit par une fonction asp
    Par LineLe dans le forum ASP
    Réponses: 4
    Dernier message: 03/11/2003, 08h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo