Determiner le nombre de chiffre apres la virgule [Résolu]

kammegg 73 Messages postés vendredi 28 octobre 2005Date d'inscription 7 août 2006 Dernière intervention - 30 juin 2006 à 18:11 - Dernière réponse : hajjoubi 7 Messages postés dimanche 14 octobre 2007Date d'inscription 10 juin 2010 Dernière intervention
- 30 mars 2008 à 08:13
S


alut
Mon souci, c'est comment on peut determiner le nombre de chiffre apres la virgule (par exemple 2 chiffre)

et merci
Afficher la suite 

5 réponses

Répondre au sujet
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 30 juin 2006 à 20:23
+3
Utile
Oui, c'est clair
Il fallait dire "définir" au lieu de "déterminer".

Tu as:



Const maVariable
As

Single
= 7 / 9

System.Math.Round(maVariable, 2)
' Retourn 0.78


mais ca te fait l'arrondi, donc c'est pas ce que tu cherche.

Comme, il n'y a pas de fonction qui fait ce que tu veux directement, il faut la faire sois même:


Private

Function
SetDecimal(
ByVal
n
As

Single
,
ByVal
[Decimal]
As

Integer
)
As

Single

  
Dim
nStr
As

String
= n.ToString()

  
If
nStr.Contains(
","
)
Then

    
If
nStr.Length - nStr.IndexOf(","c) - 1 > 2
Then

      nStr = nStr.Substring(0, nStr.IndexOf(","c) + 1 + [Decimal])

    
End

If

  
End

If

  
Return
System.Convert.ToSingle(nStr)

End

Function




Example d'utilisation:



Const
maVariable
As

Single
= 7 / 9

TaTextBox.Text = SetDecimal(maVariable, 2)


Tu auras bien 0,77




Kenji

Merci de lire le règlement (vivement conseillé voir obligatoire).
/FONT>
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Charles Racaud
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 30 juin 2006 à 19:13
0
Utile
Salut,

On converti le nombre en string et on récupére la longeur du texte après la virgule:


Const
nb
As

Single
= 3.14

Dim
nbDecimal
As

Integer
= nb.ToString().Substring(nb.ToString().IndexOf(","c) + 1).Length






Kenji

Merci de lire le règlement (vivement conseillé voir obligatoire).

/FONT>
Commenter la réponse de Charles Racaud
kammegg 73 Messages postés vendredi 28 octobre 2005Date d'inscription 7 août 2006 Dernière intervention - 30 juin 2006 à 20:01
0
Utile
salut Charles


ce que  je voulais c'est que j'ai une variable "maVariable" qui  égale à 7/9. je veux mettre la valeur de "maVariable" dans un textbox : textbox1.text = maVariable.
donc au lieu d'afficher le résultat 0,77777777777777777777778 je veux juste afficher 0,77 .

j'espere que c'est bien claire


merci
Commenter la réponse de kammegg
kammegg 73 Messages postés vendredi 28 octobre 2005Date d'inscription 7 août 2006 Dernière intervention - 30 juin 2006 à 20:36
0
Utile
je te remercie charle
ça marche le code
Commenter la réponse de kammegg
hajjoubi 7 Messages postés dimanche 14 octobre 2007Date d'inscription 10 juin 2010 Dernière intervention - 30 mars 2008 à 08:13
0
Utile
salam
quand je utilise le calcule avec l'exponentielle sous vb6 j'ai obtenu un chiffre contient des lettre par ex: 16*(10^12.4)/81.83)^1.80= 1,47372712517749E+20
alors  comment je peux régler ce probleme?
Commenter la réponse de hajjoubi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.