Comment puis-je formater un nombre à un nombre fixe de décimales (garder les zéros de fin) où le nombre de places est spécifié par une variable?Comment formater un nombre décimal en un nombre de décimales contrôlé par programme dans C#?
par exemple.
int x = 3;
Console.WriteLine(Math.Round(1.2345M, x)); // 1.234 (good)
Console.WriteLine(Math.Round(1M, x)); // 1 (would like 1.000)
Console.WriteLine(Math.Round(1.2M, x)); // 1.2 (would like 1.200)
Notez que depuis que je veux contrôler le nombre de places programatically, ce string.Format ne fonctionnera pas (je devrais sûrement pas générer la chaîne de format):
Console.WriteLine(
string.Format("{0:0.000}", 1.2M)); // 1.200 (good)
Dois-je simplement inclure Microsoft.VisualBasic et utilisez FormatNumber? J'aurais manqué quelque chose d'évident ici, je l'espère.
Comment puis-je spécifier le nombre de décimales comme une variable? Je suppose que je pourrais faire (1.2M) .ToString ("D" + x) mais cela semble un peu hacky –
Eh bien, vous pouvez toujours l'activer dans une méthode d'extension. –
Ça grandit sur moi, merci pour la méthode d'extension, aussi. –