none
convertir single en double RRS feed

  • Question

  • Bonjour,

    Je viens de me rendre compte que transformer un single en double me donnait des résultats auxquels je ne m'attendais pas.

    Exemple :

    Je dois comparer une valeur (single) à 0.55 donc je fais :

    dim ma_valeur as Single = 0.55

    dim resulat = ma_valeur > 0.55

    resulat est égal à True !?

    en faite VS, voit 0.55 comme Double et me converti "ma_valeur" en Double et 0.55 en double c'est 0.550000011920929 !!

    Donc resultat est supérieur à 0.55...

    Mon problème est que je n'ai pas envie je remplace mes 5000 valeurs à comparer avec un CSng, est-ce que je pourrais forcer VS à utiliser des singles ou decimal au lieu de double ? ou avez vous une meilleure idée ?

     Cordialement

    jeudi 3 octobre 2013 12:01

Réponses

  • Bonjour,

    Pour moi la réponse n'est pas satisfaisante, du coup j'ai remplacer tout mes Single en Double pour éviter ce genre de transtipage.

    Cordialement


    Jean-Philippe Maistre-Bazin Développeur.NET chez Protechnologies

    lundi 7 octobre 2013 11:54
  • Bonjour,

    Normalement en .NET on n'utilise pas les Single ou Double sauf en cas de calcul intense. Ces 2 types produisent des erreurs de précision... Donc si vous avez besoin d'une précision fixe (par exemple pour représenter un montant comptable) il faut utiliser le type Decimal.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    lundi 7 octobre 2013 18:47
    Modérateur

Toutes les réponses