-1
votes

Format décimal à l'aide de tostring () en utilisant les derniers cadres. 4.7.2 ou Core 2.2

Il y a des questions comme la mienne mais je sens qu'ils sont obsolètes. XXX Pré>

Je veux ce résultat: p>

{18000:n}


4 commentaires

Tostring ("F2")


Ou impression ($ "{décimalvar: f2}"); , si vous voulez cela dans le cadre d'une chaîne plus grande.


On dirait que vous confondez tostring avec formatage de chaîne, mynum.tostring ("n") est à peu près équivalent à string.format ("{0: N. } ", mynum)


Dans Visual Studio, vous pouvez mettre votre curseur quelque part dans le texte TOstring et appuyez sur F1 pour ouvrir la documentation pour décimal.tostring


3 Réponses :


1
votes

Il suffit d'utiliser tostring ("###. 00") comme ce xxx

résultat 18000.00

assumer la valeur décimale comme décimal num = 18000.22m; Le résultat serait 18000.22


0 commentaires

1
votes

Ce que vous cherchez est décimalvar.tostring ("n2") code>.

Pour plus d'informations, la documentation est à: https://docs.microsoft.com/en-us/dotnet/standard/base- Types / chaînes de format standard-numériques p>

Exemples supplémentaires: P>

double dblValue = -12445.6789;
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture));
// Displays -12,445.68
Console.WriteLine(dblValue.ToString("N1", 
                  CultureInfo.CreateSpecificCulture("sv-SE")));
// Displays -12 445,7

int intValue = 123456789;
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture));
// Displays 123,456,789.0 


0 commentaires

1
votes

Vous pouvez utiliser

string formated = $"{decimalVar:N}";


1 commentaires

Incidemment, ce n'est pas tant la version-cadre que la version C # pertinente ici. L'interpolation de chaîne ne fonctionnera pas avec une version antérieure que c # 6.