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 :

précision avec math.ceiling


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut précision avec math.ceiling
    Bonjour,

    j'aimerais récupérer la fraction supérieur d'un nombre,

    ex: si x = .24
    retourne .30

    avec la fonction math.ceiling je récupère l'entier le plus près soit 1

    merci de votre aide

    Mario

  2. #2
    Membre expérimenté
    Avatar de Sadar
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Par défaut
    Bonjour,

    En attendant que quelqu'un trouve la bonne instruction, voici ma proposition qui demande un peu de ligne :

    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
    Public Class Form1
     
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Dim a As Double = 10.26222
     
            MsgBox(Format(ArrondiSuperieur(a), "#0.00000"))
     
        End Sub
     
        Public Function ArrondiSuperieur(ByVal ValeurSup As Double) As Double
     
            Dim _PartieEntiere As Double = Math.Truncate(ValeurSup)
            Return _PartieEntiere + CDbl(Format(ValeurSup - _PartieEntiere, "#0.0"))
     
        End Function
     
    End Class
    Mon idée est d'extraire la partie décimale et l'arrondir à la précision de son choix dans ce cas 1/10 et le tout placé dans une fonction.

    Ce code est exhaustif en rapport de son besoin.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    pour un arrondi au dixième au dessus ca doit être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    d = ceiling(d * 10) / 10
    .24
    d*10 => 2.4
    ceiling => 3
    /10 => .3
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    merveilleux Pol63

    je test ça

    Merci à toi aussi Sadar

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

Discussions similaires

  1. décimales avec Math.ceil
    Par lau06 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 29/10/2011, 21h57
  2. Problème de précision avec BigDecimal
    Par Iris12 dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 10/05/2007, 16h14
  3. Réponses: 5
    Dernier message: 11/05/2006, 08h51
  4. Problème étrange de précision avec double
    Par titoine1978 dans le forum DirectX
    Réponses: 4
    Dernier message: 22/02/2006, 09h26
  5. Problème de précision avec FloatToStr
    Par Clorish dans le forum Langage
    Réponses: 9
    Dernier message: 06/12/2005, 15h38

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