[Catégorie modifiée VB6 -> .Net] Problème de décimales (même programme sur 2 PC [Résolu]

Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011
- - Dernière réponse : jiel2007
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011
- 10 juin 2011 à 06:39
Bonjour à tous,

Je réalise un petit programme en Visual Basic 2008 express et je me trouve confronté à un petit problème avec les décimales après la virgule.

Pour conserver deux décimales après la virgule, j'utilise la routine suivante :

Prix1 = Val(Tot3) * Val(Prix1) ? par exemple un montant total
Display = Prix1
TextBox55.Text(Display.ToString("F2",CultureInfo.InvariantCulture))
Display = 0

Ce fonctionne parfaitement avec des valeurs provenant de TextBox.Text ou de fichiers.
Exemples : dans mon fichier je lis 72.5 et l'affichage donne 72.50
je lis 69 et l'affichage donne 69.00

Du moins sur mon PC de bureau?

J'ai installé ce programme sur mon portable et il me remplace systématiquement la partie décimale par 2 zéros?
Exemple : dans mon fichier je lis 72.5 et sur le portable l'affichage donne 72.00

Que je remplace le point par une virgule dans le fichier ne change rien. Sur mes 2 machines ( de bureau et portable ) j'ai le même système d'exploitation ( XP Pro SP3. ).

Comment faire pour récupérer mes décimales sur mon portable ?

Merci d'avoir pris le temps de lire ces quelques lignes et, si vous avez une solution ou même une piste à suivre, je suis preneur?
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
57
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
13 juin 2011
1
3
Merci
Salut, peut être n'est ce qu'un simple problème de variables, comment sont elles déclarées ?


_______________________
Imports System.Thinking
'La vie Roxxx un max à qui s'en donne la peine

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 136 internautes nous ont dit merci ce mois-ci

Commenter la réponse de SebSemos
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
26 décembre 2018
46
3
Merci
Salut
En net évite val
tu peux te servir de x.ToString("#0.00")
qui te donne deux chiffres après le séparateur
décimal

Dim prix As Double
Dim taux As Double
Dim pr As Double
If Double.TryParse(letaux.Text, taux) And Double.TryParse(leprix.Text, prix) Then
pr = taux * prix
TextBox1.Text = (pr.ToString("#0.00"))
Else
TextBox1.Text = String.Empty
End If

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 136 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_ShayW
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011
0
Merci
Bonjour,

Comme toi, je déclarais bien mes variables en double mais invariant.culture ne semble pas la bonne solution.

Par contre, le format ("#0.00") affiche correctement mes décimales aussi bien sur mon PC de bureau que sur mon portable.

Merci pour l'aide, c'est super.
Commenter la réponse de jiel2007