Condividi tramite


Stringhe di formato numerico standard

Aggiornamento: novembre 2007

Le stringhe di formato numerico standard vengono utilizzate per formattare tipi numerici comuni. Una stringa di formato numerico standard utilizza il formato Axx, dove A è un carattere alfabetico denominato identificatore di formato e xx è un valore integer facoltativo denominato identificatore di precisione. L'identificatore di precisione, compreso tra 0 e 99, controlla il numero di cifre nel risultato. Le stringhe di formato numerico contenenti più caratteri alfabetici, inclusi gli spazi, vengono interpretate come stringhe di formato numerico personalizzato.

Nella tabella seguente vengono descritti gli identificatori di formato numerico standard e viene visualizzato l'output di esempio prodotto da ogni identificatore di formato. Per ulteriori informazioni, vedere le note che seguono la tabella.

Identificatore di formato

Nome

Descrizione

C o c

Valuta

Il numero viene convertito in una stringa che rappresenta un valore di valuta. La conversione viene controllata dalle informazioni sul formato di valuta dell'oggetto NumberFormatInfo corrente.

L'identificatore di precisione indica il numero di posizioni decimali desiderato. Se l'identificatore di precisione viene omesso, verrà utilizzata la precisione di valuta predefinita fornita dall'oggetto NumberFormatInfo corrente.

Nell'esempio seguente viene formattato un valore Double con l'identificatore di formato di valuta.

Dim value As Double = 12345.6789
Console.WriteLine(value.ToString("C", CultureInfo.InvariantCulture))
' Displays 12,345.68
Console.WriteLine(value.ToString("C3", CultureInfo.InvariantCulture))
' Displays 12,345.679
Console.WriteLine(value.ToString("C3", _
CultureInfo.CreateSpecificCulture("en-US")))
' Displays $12,345.679
double value = 12345.6789;
Console.WriteLine(value.ToString("C", CultureInfo.InvariantCulture));
// Displays 12,345.68
Console.WriteLine(value.ToString("C3", CultureInfo.InvariantCulture));
// Displays 12,345.679
Console.WriteLine(value.ToString("C3",
CultureInfo.CreateSpecificCulture("en-US")));
// Displays $12,345.679

D o d

Decimale

Questo formato è supportato solo per i tipi integrali. Il numero viene convertito in una stringa di cifre decimali, da 0 a 9, preceduta da un segno meno se il numero è negativo.

L'identificatore di precisione indica il numero minimo di cifre che si desidera vengano visualizzate nella stringa risultante. Se necessario, alla sinistra del numero verranno aggiunti degli zeri in modo da raggiungere il numero di cifre specificato dall'identificatore di precisione.

Nell'esempio seguente viene formattato un valore Int32 con l'identificatore di formato decimale.

Dim value As Integer
value = 12345
Console.WriteLine(value.ToString("D"))
' Displays 12345
Console.WriteLine(value.ToString("D8"))
' Displays 00012345
value = -12345
Console.WriteLine(value.ToString("D"))
' Displays -12345
Console.WriteLine(value.ToString("D8"))
' Displays -00012345
int value;
value = 12345;
Console.WriteLine(value.ToString("D"));
// Displays 12345
Console.WriteLine(value.ToString("D8"));
// Displays 00012345
value = -12345;
Console.WriteLine(value.ToString("D"));
// Displays -12345
Console.WriteLine(value.ToString("D8"));
// Displays -00012345

E o e

Scientifico (esponenziale)

Il numero viene convertito in una stringa con formato "-c,ccc…E+ccc" o "-c,ccc…e+ccc", dove ciascuna "c" indica una cifra da 0 a 9. Se il numero è negativo, la stringa inizierà con un segno meno. Il separatore decimale è sempre preceduto da una cifra.

L'identificatore di precisione indica il numero di cifre desiderato dopo il separatore decimale. Se l'identificatore di precisione viene omesso, verrà utilizzato il numero predefinito di sei cifre dopo il separatore decimale.

Il fatto che nell'identificatore di formato sia utilizzata una lettera maiuscola o minuscola indica, rispettivamente, se l'esponente debba essere preceduto dal prefisso "E" o "e". L'esponente consiste sempre in un segno più o meno e in un minimo di tre cifre. Se necessario, vengono aggiunti all'esponente degli zeri in modo da raggiungere tale numero di cifre.

Nell'esempio seguente viene formattato un valore Double con l'identificatore di formato scientifico.

Dim value As Double = 12345.6789
Console.WriteLine(value.ToString("E", CultureInfo.InvariantCulture))
' Displays 1.234568E+004
Console.WriteLine(value.ToString("E10", CultureInfo.InvariantCulture))
' Displays 1.2345678900E+004
Console.WriteLine(value.ToString("e4", CultureInfo.InvariantCulture))
' Displays 1.2346e+004
Console.WriteLine(value.ToString("E", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 1,234568E+004
double value = 12345.6789;
Console.WriteLine(value.ToString("E", CultureInfo.InvariantCulture));
// Displays 1.234568E+004
Console.WriteLine(value.ToString("E10", CultureInfo.InvariantCulture));
// Displays 1.2345678900E+004
Console.WriteLine(value.ToString("e4", CultureInfo.InvariantCulture));
// Displays 1.2346e+004
Console.WriteLine(value.ToString("E",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 1,234568E+004

F o f

A virgola fissa

Il numero viene convertito in una stringa con formato "-ccc,ccc…", dove ciascuna "c" indica una cifra da 0 a 9. Se il numero è negativo, la stringa inizierà con un segno meno.

L'identificatore di precisione indica il numero di posizioni decimali desiderato. Se l'identificatore di precisione viene omesso, verrà utilizzata la precisione numerica predefinita fornita dalla proprietà NumberDecimalDigits dell'oggetto NumberFormatInfo corrente.

Nell'esempio seguente vengono formattati un valore Double e un valore Int32 con l'identificatore di formato a virgola fissa.

Dim integerNumber As Integer
integerNumber = 17843
Console.WriteLine(integerNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 17843.00
integerNumber = -29541
Console.WriteLine(integerNumber.ToString("F3", CultureInfo.InvariantCulture))
' Displays -29541.000
Dim doubleNumber As Double
doubleNumber = 18934.1879
Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture))
' Displays 18934.19
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture))
' Displays 18934
doubleNumber = -1898300.1987
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture))
' Displays -1898300.2
Console.WriteLine(doubleNumber.ToString("F3", _
CultureInfo.CreateSpecificCulture("es-ES")))
' Displays -1898300,199
int integerNumber;
integerNumber = 17843;
Console.WriteLine(integerNumber.ToString("F",
CultureInfo.InvariantCulture));
// Displays 17843.00
integerNumber = -29541;
Console.WriteLine(integerNumber.ToString("F3",
CultureInfo.InvariantCulture));
// Displays -29541.000
double doubleNumber;
doubleNumber = 18934.1879;
Console.WriteLine(doubleNumber.ToString("F", CultureInfo.InvariantCulture));
// Displays 18934.19
Console.WriteLine(doubleNumber.ToString("F0", CultureInfo.InvariantCulture));
// Displays 18934
doubleNumber = -1898300.1987;
Console.WriteLine(doubleNumber.ToString("F1", CultureInfo.InvariantCulture));
// Displays -1898300.2
Console.WriteLine(doubleNumber.ToString("F3",
CultureInfo.CreateSpecificCulture("es-ES")));
// Displays -1898300,199

G o g

Generale

Il numero viene convertito nel formato più compatto tra la notazione scientifica e quella a virgola fissa, a seconda del tipo di numero e dell'eventuale presenza dell'identificatore di precisione. Se l'identificatore di precisione è stato omesso o è uguale a zero, il tipo di numero determina la precisione predefinita, come indicato nell'elenco riportato di seguito.

La notazione a virgola fissa verrà utilizzata se l'esponente ottenuto esprimendo il numero con la notazione scientifica risulta maggiore di -5 e minore dell'identificatore di precisione. In caso contrario, verrà utilizzata la notazione scientifica. Il risultato contiene un separatore decimale, se richiesto, e gli zeri finali vengono omessi. Se è presente l'identificatore di precisione e il numero di cifre significative nel risultato è superiore alla precisione specificata, le cifre finali in eccesso verranno rimosse mediante arrotondamento.

L'unica eccezione a questa regola si verifica se il numero corrisponde a un tipo Decimal e l'identificatore di precisione viene omesso. In questo caso verrà sempre utilizzata la notazione a virgola fissa e verranno mantenuti gli zeri finali.

Se viene utilizzata la notazione scientifica, l'esponente nel risultato sarà preceduto da un prefisso "E" se l'identificatore di formato è "G" o da un prefisso "e" se l'identificatore di formato è "g".

Nell'esempio seguente vengono formattati diversi valori a virgola mobile con l'identificatore di formato generale.

Dim number As Double
number = 12345.6789
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 12345.6789
Console.WriteLine(number.ToString("G", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 12345,6789
Console.WriteLine(number.ToString("G7", CultureInfo.InvariantCulture))
' Displays 12345.68
number = .0000023
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 2.3E-06
Console.WriteLine(number.ToString("G", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 2,3E-06
number = .0023
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture))
' Displays 0.0023
number = 1234
Console.WriteLine(number.ToString("G2", CultureInfo.InvariantCulture))
' Displays 1.2E+03
number = Math.Pi
Console.WriteLine(number.ToString("G5", CultureInfo.InvariantCulture))
' Displays 3.1416
double number;
number = 12345.6789;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 12345.6789
Console.WriteLine(number.ToString("G",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 12345,6789
Console.WriteLine(number.ToString("G7", CultureInfo.InvariantCulture));
// Displays 12345.68
number = .0000023;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 2.3E-06
Console.WriteLine(number.ToString("G",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 2,3E-06
number = .0023;
Console.WriteLine(number.ToString("G", CultureInfo.InvariantCulture));
// Displays 0.0023
number = 1234;
Console.WriteLine(number.ToString("G2", CultureInfo.InvariantCulture));
// Displays 1.2E+03
number = Math.PI;
Console.WriteLine(number.ToString("G5", CultureInfo.InvariantCulture));
// Displays 3.1416

N o n

Numero

Il numero viene convertito in una stringa in formato "-d,ddd,ddd.ddd…", dove '-' indica un simbolo di numero negativo, se richiesto, 'd' indica una cifra (0-9), ',' indica il separatore delle migliaia tra gruppi numerici e '.' indica un simbolo di separatore decimale. Il modello del numero negativo effettivo, la dimensione del gruppo di numeri, il separatore delle migliaia e il separatore decimale vengono specificati rispettivamente dalle proprietà NumberNegativePattern, NumberGroupSizes, NumberGroupSeparator e NumberDecimalSeparator dell'oggetto NumberFormatInfo corrente.

L'identificatore di precisione indica il numero di posizioni decimali desiderato. Se l'identificatore di precisione viene omesso, verrà utilizzata la precisione numerica predefinita fornita dalla proprietà NumberDecimalDigits dell'oggetto NumberFormatInfo corrente.

Nell'esempio seguente vengono formattati diversi valori a virgola mobile con l'identificatore di formato numerico.

Dim dblValue As Double = -12445.6789
Console.WriteLine(dblValue.ToString("N", CultureInfo.InvariantCulture))
' Displays -12,445.68
Console.WriteLine(dblValue.ToString("N1", _
CultureInfo.CreateSpecificCulture("sv-SE")))
' Displays -12445,7
Dim intValue As Integer = 123456789
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture))
' Displays 123,456,789.0
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 -12445,7
int intValue = 123456789;
Console.WriteLine(intValue.ToString("N1", CultureInfo.InvariantCulture));
// Displays 123,456,789.0

P o p

Percentuale

Il numero viene convertito in una stringa che rappresenta una percentuale in base a quanto definito dalla proprietà NumberFormatInfo.PercentNegativePattern se il numero è negativo o dalla proprietà NumberFormatInfo.PercentPositivePattern se il numero è positivo. Il numero convertito viene moltiplicato per 100 in modo da essere presentato come una percentuale.

L'identificatore di precisione indica il numero di posizioni decimali desiderato. Se l'identificatore di precisione viene omesso, verrà utilizzata la precisione numerica predefinita fornita dall'oggetto NumberFormatInfo corrente.

Nell'esempio seguente vengono formattati diversi valori a virgola mobile con l'identificatore di formato percentuale.

Dim number As Double = .2468013
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture))
' Displays 24.68 %
Console.WriteLine(number.ToString("P", _
CultureInfo.CreateSpecificCulture("hr-HR")))
' Displays 24,68%
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture))
' Displays 24.7 %
double number = .2468013;
Console.WriteLine(number.ToString("P", CultureInfo.InvariantCulture));
// Displays 24.68 %
Console.WriteLine(number.ToString("P",
CultureInfo.CreateSpecificCulture("hr-HR")));
// Displays 24,68%
Console.WriteLine(number.ToString("P1", CultureInfo.InvariantCulture));
// Displays 24.7 %

R o r

Riconversione

Questo formato è supportato solo per i tipi Single e Double. L'identificatore di riconversione garantisce che un valore numerico convertito in una stringa venga riportato al medesimo valore numerico. Quando un valore numerico viene formattato con questo identificatore, ne viene dapprima eseguito il test con il formato generale, con 15 spazi di precisione nel caso di un valore Double e 7 nel caso di un valore Single. Se la riconversione del valore nello stesso valore numerico iniziale viene eseguita correttamente, il valore verrà formattato con l'identificatore di formato generale. Se tuttavia il valore non viene riconvertito esattamente nello stesso valore numerico, verrà formattato con 17 cifre di precisione nel caso di un valore Double e 9 nel caso di un valore Single.

Se presente, l'identificatore di precisione viene ignorato. Quando si utilizza questo identificatore, infatti, il formato della riconversione ha la precedenza sulla precisione.

Nell'esempio seguente vengono formattati valori Double con l'identificatore di formato round trip.

Dim value As Double
value = Math.Pi
Console.WriteLine(value.ToString("r"))
' Displays 3.1415926535897931
Console.WriteLine(value.ToString("r", _
CultureInfo.CreateSpecificCulture("fr-FR")))
' Displays 3,1415926535897931
value = 1.623e-21
Console.WriteLine(value.ToString("r"))
' Displays 1.623E-21
double value;
value = Math.PI;
Console.WriteLine(value.ToString("r"));
// Displays 3.1415926535897931
Console.WriteLine(value.ToString("r",
CultureInfo.CreateSpecificCulture("fr-FR")));
// Displays 3,1415926535897931
value = 1.623e-21;
Console.WriteLine(value.ToString("r"));
// Displays 1.623E-21

X o x

Esadecimale

Questo formato è supportato solo per i tipi integrali. Il numero viene convertito in una stringa di cifre esadecimali. L'utilizzo della lettera maiuscola e minuscola nell'identificatore di formato indica se verranno utilizzati caratteri maiuscoli o minuscoli per le cifre esadecimali maggiori di 9. Ad esempio, utilizzare "X" per ottenere "ABCDEF" e "x" per ottenere "abcdef".

L'identificatore di precisione indica il numero minimo di cifre che si desidera vengano visualizzate nella stringa risultante. Se necessario, alla sinistra del numero verranno aggiunti degli zeri in modo da raggiungere il numero di cifre specificato dall'identificatore di precisione.

Nell'esempio seguente vengono formattati valori Int32 con l'identificatore di formato esadecimale.

Dim value As Integer
value = &h2045e
Console.WriteLine(value.ToString("x"))
' Displays 2045e
Console.WriteLine(value.ToString("X"))
' Displays 2045E
Console.WriteLine(value.ToString("X8"))
' Displays 0002045E
value = 123456789
Console.WriteLine(value.ToString("X"))
' Displays 75BCD15
Console.WriteLine(value.ToString("X2"))
' Displays 75BCD15
int value;
value = 0x2045e;
Console.WriteLine(value.ToString("x"));
// Displays 2045e
Console.WriteLine(value.ToString("X"));
// Displays 2045E
Console.WriteLine(value.ToString("X8"));
// Displays 0002045E
value = 123456789;
Console.WriteLine(value.ToString("X"));
// Displays 75BCD15
Console.WriteLine(value.ToString("X2"));
// Displays 75BCD15

Qualsiasi altro carattere singolo

Identificatore sconosciuto

Un identificatore sconosciuto genera un'eccezione FormatException in fase di esecuzione.

Note

Impostazioni del Pannello di controllo

Le impostazioni di Opzioni internazionali e della lingua nel Pannello di controllo influiscono sulla stringa risultato prodotta da un'operazione di formattazione. Queste impostazioni vengono utilizzate per inizializzare l'oggetto NumberFormatInfo associato alle impostazioni cultura del thread corrente, che fornisce i valori utilizzati per definire la formattazione. Computer con impostazioni diverse generano stringhe di risultati diverse.

Inoltre, se viene utilizzato il costruttore CultureInfo.CultureInfo(String) per creare un'istanza di un nuovo oggetto CultureInfo che rappresenta le stesse impostazioni cultura delle impostazioni cultura del sistema correnti, le eventuali personalizzazioni definite dall'elemento Opzioni internazionali e della lingua nel Pannello Controllo verranno applicate al nuovo oggetto CultureInfo. È possibile utilizzare il metodo CultureInfo.CreateSpecificCulture per creare un oggetto CultureInfo che non rifletta le personalizzazioni del sistema.

Proprietà NumberFormatInfo

La formattazione è influenzata dalle proprietà dell'oggetto NumberFormatInfo corrente, che viene fornito in modo implicito dalle impostazioni cultura del thread corrente o in modo esplicito dal parametro IFormatProvider del metodo che richiama la formattazione. Specificare un oggetto NumberFormatInfo o CultureInfo per questo parametro.

Tipi numerici integrali e a virgola mobile

Alcune descrizioni di identificatori di formato numerico standard fanno riferimento a tipi numerici integrali o a virgola mobile. I tipi numerici integrali sono Byte, SByte, Int16, Int32, Int64, UInt16, UInt32 e UInt64. I tipi numerici a virgola mobile sono Decimal, Single e Double.

Valori infiniti a virgola mobile e NaN

Indipendentemente dalla stringa di formato, se il valore di un tipo a virgola mobile Single o Double è un numero infinito positivo, un numero infinito negativo o un valore NaN (Not a Number, non numero), la stringa formattata corrisponderà al valore della proprietà PositiveInfinitySymbol, NegativeInfinitySymbol o NaNSymbol corrispondente specificata dall'oggetto NumberFormatInfo attualmente applicabile.

Esempio

Nell'esempio seguente viene formattato un valore numerico integrale a virgola mobile utilizzando le impostazioni cultura "en-us" e tutti gli identificatori di formato numerico standard. In questo esempio vengono utilizzati due particolari tipi numerici, ma verrebbero prodotti risultati simili per qualsiasi tipo di base numerico (Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, Decimal, Single e Double).

Option Strict On

Imports System.Globalization
Imports System.Threading

Module NumericFormats
   Public Sub Main()
      ' Display string representations of numbers for en-us culture
      Dim ci As New CultureInfo("en-us")

      ' Output floating point values
      Dim floating As Double = 10761.937554
      Console.WriteLine("C: {0}", _
              floating.ToString("C", ci))           ' Displays "C: $10,761.94"
      Console.WriteLine("E: {0}", _
              floating.ToString("E03", ci))         ' Displays "E: 1.076E+004"
      Console.WriteLine("F: {0}", _
              floating.ToString("F04", ci))         ' Displays "F: 10761.9376"         
      Console.WriteLine("G: {0}", _ 
              floating.ToString("G", ci))           ' Displays "G: 10761.937554"
      Console.WriteLine("N: {0}", _
              floating.ToString("N03", ci))         ' Displays "N: 10,761.938"
      Console.WriteLine("P: {0}", _
              (floating/10000).ToString("P02", ci)) ' Displays "P: 107.62 %"
      Console.WriteLine("R: {0}", _
              floating.ToString("R", ci))           ' Displays "R: 10761.937554"            
      Console.WriteLine()

      ' Output integral values
      Dim integral As Integer = 8395
      Console.WriteLine("C: {0}", _
              integral.ToString("C", ci))           ' Displays "C: $8,395.00"
      Console.WriteLine("D: {0}", _
              integral.ToString("D6"))              ' Displays D: 008395"" 
      Console.WriteLine("E: {0}", _
              integral.ToString("E03", ci))         ' Displays "E: 8.395E+003"
      Console.WriteLine("F: {0}", _
              integral.ToString("F01", ci))         ' Displays "F: 8395.0"    
      Console.WriteLine("G: {0}", _ 
              integral.ToString("G", ci))           ' Displays "G: 8395"
      Console.WriteLine("N: {0}", _
              integral.ToString("N01", ci))         ' Displays "N: 8,395.0"
      Console.WriteLine("P: {0}", _
              (integral/10000).ToString("P02", ci)) ' Displays "P: 83.95 %"
      Console.WriteLine("X: 0x{0}", _
              integral.ToString("X", ci))           ' Displays "X: 0x20CB"
      Console.WriteLine()
   End Sub
End Module
using System;
using System.Globalization;
using System.Threading;

public class NumericFormats
{
   public static void Main()
   {
      // Display string representations of numbers for en-us culture
      CultureInfo ci = new CultureInfo("en-us");

      // Output floating point values
      double floating = 10761.937554;
      Console.WriteLine("C: {0}", 
              floating.ToString("C", ci));           // Displays "C: $10,761.94"
      Console.WriteLine("E: {0}", 
              floating.ToString("E03", ci));         // Displays "E: 1.076E+004"
      Console.WriteLine("F: {0}", 
              floating.ToString("F04", ci));         // Displays "F: 10761.9376"         
      Console.WriteLine("G: {0}",  
              floating.ToString("G", ci));           // Displays "G: 10761.937554"
      Console.WriteLine("N: {0}", 
              floating.ToString("N03", ci));         // Displays "N: 10,761.938"
      Console.WriteLine("P: {0}", 
              (floating/10000).ToString("P02", ci)); // Displays "P: 107.62 %"
      Console.WriteLine("R: {0}", 
              floating.ToString("R", ci));           // Displays "R: 10761.937554"            
      Console.WriteLine();

      // Output integral values
      int integral = 8395;
      Console.WriteLine("C: {0}", 
              integral.ToString("C", ci));           // Displays "C: $8,395.00"
      Console.WriteLine("D: {0}", 
              integral.ToString("D6", ci));          // Displays D: 008395"" 
      Console.WriteLine("E: {0}", 
              integral.ToString("E03", ci));         // Displays "E: 8.395E+003"
      Console.WriteLine("F: {0}", 
              integral.ToString("F01", ci));         // Displays "F: 8395.0"    
      Console.WriteLine("G: {0}",  
              integral.ToString("G", ci));           // Displays "G: 8395"
      Console.WriteLine("N: {0}", 
              integral.ToString("N01", ci));         // Displays "N: 8,395.0"
      Console.WriteLine("P: {0}", 
              (integral/10000).ToString("P02", ci)); // Displays "P: 83.95 %"
      Console.WriteLine("X: 0x{0}", 
              integral.ToString("X", ci));           // Displays "X: 0x20CB"
      Console.WriteLine();
   }
}

Vedere anche

Concetti

Stringhe di formato numerico

Stringhe di formato numerico personalizzato

Riferimenti

NumberFormatInfo

Altre risorse

Formattazione dei tipi di dati