Aide Label.Text / Convert.ToString et String.Format / Séparateur de milliers
-
15-09-2020 - |
Question
J'ai une étiquette dont je veux montrer qu'elle est Text("1234567")
Comme un nombre avec un séparateur de milliers //
comment puis-je faire ça avec :
Lable1.Text = string.Format(.....;
Lable1.Text = Convet.ToString(.....;
veuillez expliquer ces deux-là.
La solution
Pour Fournisseur IFormat informations relatives aux nombres (à utiliser avec Convert.ToString(...,IFormatProvider)
), voir la section remarques ici.Vous pouvez suivre les liens vers Séparateur de groupe de nombres et d'autres options de formatage contenant des exemples de code.
String.Format
peut également prendre un IFormatProvider, mais il comprend également d'autres formats directement fournis sous forme de chaîne.Voir la section remarques du Méthode de format de chaîne -- encore une fois, vous pouvez suivre les liens vers des domaines d'intérêt comme Formatage numérique standard qui a un exemple de nombres "," internationalisés.
Bonne lecture.
Ajout en réponse au commentaire
IFormatProvider est une interface ; NombreFormatInfo est un fournisseur.Autrement dit, vous pouvez spécifier les arguments de format dans un nouvel objet NumberFormatInfo et les transmettre en tant que IFormatProvider.Vous pouvez voir qu’il existe toute une série de membres avec lesquels vous pouvez jouer : Membres NumberFormatInfo.L'avantage d'un IFormatProvider est que vous pouvez créer et définir vos propres formats de conversion.Vous pouvez même invoquer le Format
méthode d'un ICustomFormatter directement, si vous le souhaitez -- avec quelques omissions, voici à peu près ce que String.Format
fait pour vous.Vous pourriez également être intéressé par CultureInfo.CurrentCulture.
Autres conseils
Dim Num As Integer = 1234567
Label1.Text = Num.ToString("n0")