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

Signaler
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011
-
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011
-
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?

3 réponses

Messages postés
57
Date d'inscription
mardi 24 mai 2011
Statut
Membre
Dernière intervention
13 juin 2011
1
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
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
49
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
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011

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.