Equivalente VB.NET FormatNumber in C#?
Domanda
Esiste un equivalente C# per VB.NET FormatNumber
funzione?
Cioè.:
JSArrayString += "^" + (String)FormatNumber(inv.RRP * oCountry.ExchangeRate, 2);
Soluzione
Sia in C# che in VB.NET è possibile utilizzare il file .Accordare() funzione o il String.Format() metodo per formattare il testo.
Utilizzando il metodo .ToString() il tuo esempio potrebbe essere scritto come:
JSArrayString += "^" + (inv.RRP * oCountry.ExchangeRate).ToString("#0.00")
In alternativa utilizzando String.Format() potrebbe essere scritto come:
JSArrayString = String.Format("{0}^{1:#0.00}",JSArrayString,(inv.RRP * oCountry.ExchangeRate))
In entrambi i casi precedenti ho utilizzato la formattazione personalizzata per la valuta con # che rappresenta un segnaposto opzionale e 0 che rappresenta uno 0 o un valore se ne esiste uno.
È possibile utilizzare altri caratteri di formattazione per facilitare la formattazione, ad esempio D2 per 2 cifre decimali o C per visualizzare come valuta.In questo caso non vorrai utilizzare il formattatore C poiché questo avrebbe inserito il simbolo della valuta e ulteriori separatori che non erano necessari.
Vedere "String.Format("{0}", "stringa di formattazione"};" O "Formato stringa per int" per ulteriori informazioni ed esempi su come utilizzare String.Format e le diverse opzioni di formattazione.
Altri suggerimenti
Sì, i metodi .ToString(string).Ad esempio,
int number = 32;
string formatted = number.ToString("D4");
Console.WriteLine(formatted);
// Shows 0032
Tieni presente che in C# non usi un numero per specificare un formato, ma usi un carattere o una sequenza di caratteri.La formattazione di numeri e date in C# richiede alcuni minuti per essere appresa, ma una volta compreso il principio, puoi ottenere rapidamente tutto ciò che desideri guardando il riferimento.
Ecco un paio di articoli MSDN per iniziare:
È possibile utilizzare i formattatori di stringa per ottenere la stessa cosa.
double MyNumber = inv.RRP * oCountry.ExchangeRate;
JSArrayString += "^" + MyNumber.ToString("#0.00");
Anche se in questo caso consiglierei di utilizzare ToString, tieni sempre presente che puoi utilizzare QUALSIASI funzione o classe VB.Net da C# semplicemente facendo riferimento a Microsoft.VisalBasic.dll.