Convertion de string en decimal

tiwolfette Messages postés 21 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 27 novembre 2004 - 20 sept. 2004 à 13:51
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 21 sept. 2004 à 18:58
Bonjour à tous,
Je stocke dans un tableau de type string une grande quantité d'info et notamment des chiffres a virgules. Chiffres dont je dois me servir pour calculer des statistiques. Ne pouvant pas les additionner(car étant de type string), je les convertis en type decimal par la fonction CDec(tableau(i)).
Cependant quand j additione deux éléments de ce tableau mais préalablement converti, j'obtiens le bon résultat mais seulement la partie entière.....???
Comment faire pour obtenir les chiffres apres la virgule?
Merci d'avance!!!

3 réponses

cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
20 sept. 2004 à 14:19
et avec CDbl() ???

It@li@
0
tiwolfette Messages postés 21 Date d'inscription jeudi 22 avril 2004 Statut Membre Dernière intervention 27 novembre 2004
20 sept. 2004 à 15:09
Avec Cdbl c'est pareil je n'ai que la partie entière de mon nombre............;snifff.....venez en aide à une pauvre p tite louve.......
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
21 sept. 2004 à 18:58
Pour vérifier ta configuration:

Option Explicit

Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
Private Declare Function GetSystemDefaultLCID Lib "kernel32" () As Long

Private Const LOCALE_SDECIMAL = &HE ' Symbole décimal
Private Const LOCALE_STHOUSAND = &HF ' Séparateur des milliers

Private Sub Form_Load()

Dim SymboleDecimal As String
Dim SeparateurMillier As String
Dim sBuffer As String
Dim nBufferLen As Long
Dim LCID As Long

LCID = GetSystemDefaultLCID

nBufferLen = 255
sBuffer = String$(nBufferLen, vbNullChar)
nBufferLen = GetLocaleInfo(LCID, LOCALE_SDECIMAL, sBuffer, nBufferLen)
If nBufferLen > 0 Then
SymboleDecimal = Left$(sBuffer, nBufferLen - 1)
MsgBox "Le symbole décimal est : " & SymboleDecimal, vbInformation
Else
MsgBox "Erreur", vbExclamation
End If
End Sub
0
Rejoignez-nous