Question

Existe-t-il un équivalent C# pour VB.NET FormatNumber fonction?

C'est à dire.:

JSArrayString += "^" + (String)FormatNumber(inv.RRP * oCountry.ExchangeRate, 2);
Était-ce utile?

La solution

En C# et en VB.NET, vous pouvez utiliser soit le .VersChaîne() fonction ou le Chaîne.Format() méthode pour formater le texte.

En utilisant la méthode .ToString(), votre exemple pourrait être écrit comme :

JSArrayString += "^" + (inv.RRP * oCountry.ExchangeRate).ToString("#0.00")

Alternativement, en utilisant String.Format(), il pourrait être écrit comme :

JSArrayString = String.Format("{0}^{1:#0.00}",JSArrayString,(inv.RRP * oCountry.ExchangeRate))

Dans les deux cas ci-dessus, j'ai utilisé un formatage personnalisé pour la devise avec # représentant un espace réservé facultatif et 0 représentant un 0 ou une valeur s'il en existe un.

D'autres caractères de formatage peuvent être utilisés pour faciliter le formatage, tels que D2 pour 2 décimales ou C pour afficher sous forme de devise.Dans ce cas, vous ne voudriez pas utiliser le formateur C car cela aurait inséré le symbole monétaire et d'autres séparateurs qui n'étaient pas nécessaires.

Voir "String.Format("{0}", "chaîne de formatage"};" ou "Format de chaîne pour Int" pour plus d'informations et des exemples sur l'utilisation de String.Format et les différentes options de formatage.

Autres conseils

Oui, les méthodes .ToString(string).Par exemple,

int number = 32;
string formatted = number.ToString("D4");
Console.WriteLine(formatted);
// Shows 0032

Notez qu'en C#, vous n'utilisez pas de nombre pour spécifier un format, mais vous utilisez un caractère ou une séquence de caractères.L'apprentissage du formatage des nombres et des dates en C# prend quelques minutes, mais une fois que vous avez compris le principe, vous pouvez rapidement obtenir tout ce que vous voulez en consultant la référence.

Voici quelques articles MSDN pour vous aider à démarrer :

Chaînes de format numérique standard Types de formatage

Vous pouvez utiliser des formateurs de chaînes pour accomplir la même chose.

double MyNumber = inv.RRP * oCountry.ExchangeRate;
JSArrayString += "^" + MyNumber.ToString("#0.00");

Bien que je recommande d'utiliser ToString dans ce cas, gardez toujours à l'esprit que vous pouvez utiliser N'IMPORTE QUELLE fonction ou classe VB.Net à partir de C# en faisant simplement référence à Microsoft.VisalBasic.dll.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top