Condividi tramite


Funzione format-number

Converte i numeri in stringhe. La conversione è il risultato della formattazione del numero specificato nel primo argomento (number) usando il formato specificato nel secondo argomento (string) e applicando le regole definite nel formato decimale denominato nel terzo argomento facoltativo (string). Se il terzo argomento, il nome di formato decimale, viene omesso, verrà usato il formato decimale predefinito. Questa funzione e l'elemento <xsl:decimal-format> sono progettati per essere usati assieme.

string format-number(number, string, string?)

Note

Il primo argomento specifica il valore di input. Ad esempio, il numero 5351.

Il secondo argomento specifica lo schema di formattazione. Ad esempio, la stringa "###.###,00".

Il terzo argomento è un nome di formato decimale facoltativo. In tal modo si consente l'utilizzo di qualsiasi carattere nella stringa dello schema di formattazione. Al carattere viene assegnato un ruolo nell'elemento <xsl:decimal-format>. Un nome di formato decimale comune è european e viene usato per invertire il ruolo di virgola e punto rispetto all'impostazione predefinita.

Nello schema di formattazione vengono supportati i seguenti caratteri "."; ","; "#","%","0" e il carattere Unicode per mille (#x2030). Il carattere "#" viene usato per descrivere integer. I caratteri "." e "," vengono usati per descrivere la posizione e il tipo di punteggiatura. Il carattere "0" viene usato per posizionare uno 0 prima e dopo il carattere "." nei casi in cui, altrimenti, la posizione non mostrerebbe numerali quali 00.3 o 3.00. Se si troncano cifre a destra del punto decimale, il numero viene arrotondato. Il numero a sinistra del punto decimale non viene mai troncato.

È necessario che siano presenti sia la stringa del valore di input sia quella dello schema di formattazione, altrimenti verrà generato un errore. Se non è possibile imporre il valore di input a un numero usando le regole nella funzione number(), la funzione format-number restituisce NaN. Se la stringa dello schema di formattazione non è una stringa di schema valida, la funzione restituisce il valore di input, immutato.

Il nome del formato decimale, se presente, rappresenta il nome di un formato decimale come specificato in un elemento <xsl:decimal-format>. Il nome del formato decimale deve essere un nome completo. Se si specifica un nome di formato decimale nella funzione, è necessario che sia presente un elemento <xsl:decimal-format> con lo stesso nome nel foglio di stile.

L'elemento <xsl:decimal-format> può avere la priorità sullo schema di formattazione predefinito del numero. L'elemento <xsl:decimal-format> segue gli schemi dell'identificatore di formattazione della classe java.text.DecimalFormat. Per esempi dell'utilizzo della funzione format-number con <xsl:decimal-format>, vedere l'argomento Elemento <xsl:decimal-format>.

Esempi

Le seguenti righe XSLT restituiscono "24.535,20":

<xsl:decimal-format name="european" decimal-separator=',' grouping-separator='.' />
<xsl:value-of select="format-number(24535.2, '###.###,00', 'european')"/>

La seguente funzione di chiamata restituisce "5.351":

format-number(5351,"#,###")

La seguente funzione di chiamata restituisce "5351,00":

format-number(5351, "#.00")

La seguente funzione di chiamata restituisce "53,5100":

format-number(53.51, "#.0000")

La seguente chiamata di funzione restituisce "0053.5100":

format-number(53.51, "0000.0000")

La seguente chiamata di funzione restituisce "0053.51":

format-number(53.51, "0000.####")

La seguente funzione di chiamata restituisce "53,6":

format-number(53.56, "0.0")

Per un esempio completo dell'applicazione di questa funzione ai dati XML usando un foglio di stile XSLT, vedere Esempio di <xsl:decimal-format>.

Vedere anche

Riferimenti

Riferimenti dei tipi di dati XML

Elemento <xsl:decimal-format>