Domanda

Esiste un equivalente C# per VB.NET FormatNumber funzione?

Cioè.:

JSArrayString += "^" + (String)FormatNumber(inv.RRP * oCountry.ExchangeRate, 2);
È stato utile?

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:

Stringhe di formato numerico standard Tipi di formattazione

È 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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top