Arrondir un nombre, Visual Basic
J'ai une application Visual Basic qui a besoin d'arrondir un nombre, par exemple, 2.556 deviendrait 2.55 et pas 2.26.
Je peux le faire à l'aide d'une fonction de dépouiller les personnages plus que 2 à droite du point décimal à l'aide de ceci:
Dim TheString As String
TheString = 2.556
Dim thelength = Len(TheString)
Dim thedecimal = InStr(TheString, ".", CompareMethod.Text)
Dim Characters = thelength - (thelength - thedecimal - 2)
_2DPRoundedDown = Left(TheString, Characters)
Est-il une meilleure fonction pour faire cela?
OriginalL'auteur Paul | 2009-08-04
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire cela avec Les mathématiques.Étage. Toutefois, vous aurez besoin de multiplier * 100 et diviser, puisque vous ne pouvez pas fournir un certain nombre de chiffres
Parfois, il est utile de stocker vos nombres entiers ou à virgule fixe (si vous n'avez pas besoin de toute la gamme de virgule flottante), effectuer des calculs sur le point fixe de chiffres et de les ajuster ensuite lors de l'affichage de l'utilisateur.
Bon j'ai édité à compte pour les nombres négatifs, positifs aussi bien que
Puisque c'est VB, il suffit d'utiliser une Monnaie de type de données.
OriginalL'auteur Reed Copsey
Une autre façon de faire qui ne repose pas sur l'utilisation de ce type de Chaîne:
Avez-vous quelque chose qui prend en charge cette déclaration?
Correctif est en fait plus lentement que les Mathématiques.Étage - il le fait d'une case, puis appelle les Mathématiques.Plancher en interne. Exécuter réflecteur sur Microsoft.VisualBasic.dll pour plus de détails.
Oups je l'ai dit à l'envers. Votre commentaire a été mon raisonnement.
OriginalL'auteur Saul Dolgin
Les Mathématiques.Floor( ) la réponse est bonne. Je ne suis pas sûr exactement ce qui VB environnements Fix( ) est définie dans la. Comme Justin points, Math.Floor( ) ne fonctionne pas avec des nombres négatifs. Vous auriez à prendre la valeur absolue, puis multiplier par le SGN( ) du nombre. Je ne sais pas le nom exact de la fonction que vous souhaitez utiliser pour obtenir le Signe (pas de péché() ) de le nombre.
En pseudo-code, de prendre des valeurs négatives en compte, le résultat ressemblerait à:
--
Fourrure vaches meuh et décompresser.
La fonction Math.Signe. @Saul: Réparer les appels de Mathématiques.Plancher en interne.
Qu'est-ce que cette entreprise sur la décompression des bovins?
OriginalL'auteur WyrdestGeek
D'arrondir à la baisse
De garniture de caractères
Vous pouvez le convertir en chaîne de caractères.
OriginalL'auteur ad48
Cela fonctionne avec des nombres positifs et négatifs
OriginalL'auteur Oncure1