English
Instant Developer Foundation Documentazione
  • Reference Librerie
  • Libreria Client
  • Libreria Standard
  • Stringhe

Format

funzione link

Scopo

Ritorna una stringa di caratteri formattata in base agli argomenti passati.

Sintassi

string Risultato = "" // Leggo il risultato della funzione
// 
Risultato := Format(espressione da formattare, formato, separatore decimale, separatore gruppo)

Argomenti

Espressione Da Formattare Obbligatorio. È l'espressione di cui si vuole ottenere il valore nel formato stringa specificato.
Formato Obbligatorio. Indica la maschera da utilizzare per la formattazione della stringa.
Guarda le note per sapere in base al tipo dato dell'espressione che valori può assumere.
Separatore Decimale Opzionale. Indica il carattere che deve essere utilizzato come separatore decimale nel caso in cui l'espressione da convertire sia un numero.
In caso sia omesso verrà considerato quanto specificato nel parametro di compilazione UseDecimalDot.
Separatore Gruppo Opzionale. Indica il carattere che deve essere utilizzato come separatore di gruppo nel caso in cui l'espressione da convertire sia un numero.
In caso sia omesso verrà considerato quanto specificato nel parametro di compilazione UseDecimalDot.
Lingua Opzionale. Aggiunto in 18.5. Indica la lingua da usare per i nomi dei giorni e dei mesi. In caso sia omesso verrà considerato it-IT se il linguaggio di compilazione è ITA, en-US altrimenti.

Valore di ritorno

Viene ritornata una stringa che contiene il valore dell'espressione passato come argomento opportunatamente formattato.

Esempio di codice

FORMAT
{
  Risultato := Format(Now(), dddd dd mmmm yyyy 'ore' h:n, ??, ??)
  OperatoritraStringhe.LabelFormat.Text := Risultato
}
  • Se non sono stati specificati gli argomenti opzionali per la formattazione di valori numerici viene preso in considerazione il parametro di compilazione UseDecimalDot, in particolare:
    • se UseDecimalDot è uguale a YES allora SeparatoreDecimale = '.' (punto) e SeparatoreGruppo = ',' (virgola)
    • se UseDecimalDot è uguale a NO allora SeparatoreDecimale = ',' (virgola) e SeparatoreGruppo = '.' (punto)
  • Se l'EspressioneDaFormattare è una Stringa e la stringa rappresenta un numero ( IsNumber (EspressioneDaFormattare) = TRUE ) allora viene convertita in DECIMAL.
  • Se l'EspressioneDaFormattare è una Stringa e la stringa rappresenta una data ( IsDate (EspressioneDaFormattare) = TRUE ) allora viene convertita in DATETIME.
  • Il parametro Formato può assumere diversi valori in funzione del tipo dato dell'espressione passata:
    • INTEGER, FLOAT, DECIMAL
      • # Indica una cifra opzionale
      • 0 Indica una cifra obbligatoria (se non c'è viene scritto il carattere 0)
      • . Indica che è richiesto il separatore decimale (nella maschera ci vuole il punto ma poi il risultato userà il separatore decimale specificato)
      • , Indica che è richiesto il separatore delle migliaia (nella maschera ci vuole la virgola ma poi il risultato userà il separatore delle migliaia specificato)
      • ; Permette di specificare, nella maschera, diverse formattazioni dipendenti dal fatto che il valore sia positivo o negativo. Una maschera del tipo #.##;#.# vuol dire che se il numero è positivo verrà visualizzato con 2 decimali, se è negativo verrà visualizzato con un solo decimale
    • DATE, DATETIME, TIME
      • d Giorno del mese tra 1 e 31 (senza 0 di riempimento)
      • dd Giorno del mese tra 1 e 31 su 2 cifre (con 0 di riempimento: il giorno 6 viene scritto come 06)
      • ddd Nome del giorno su 3 caratteri (lunedì è lun (se italia) o mon (se inglese))
      • dddd Nome del giorno completo (lunedì se italia, monday se inglese)
      • m Mese tra 1 e 12
      • mm Mese tra 1 e 12 su 2 cifre (0 di riempimento)
      • mmm Nome del mese su 3 caratteri
      • mmmm Nome del mese completo
      • yy Anno su 2 cifre
      • yyyy Anno su 4 cifre
      • h Ore da 0 e 23 (senza 0 di riempimento)
      • hh Ore da 0 e 23 (con 0 di riempimento)
      • n Minuti da 0 a 59 (senza 0 di riempimento)
      • nn Minuti da 0 a 59 (con 0 di riempimento)
      • s Secondi da 0 a 59 (senza 0 di riempimento)
      • ss Secondi da 0 a 59 (con 0 di riempimento)
    • ALTRO
      • Conversione EspressioneDaFormattare a Stringa "diretta", senza Formato
    • Se nella maschera sono presenti caratteri o strighe tra apici queste non vengono analizzate dal formattatore ma vengono riscritte così come sono (senza apici).

    • Se non è richiesta una maschera di formattazione particolare per convertire valori numerici in stringhe è possibile usare la funzione NumberToString

Ultima modifica: 23/03/2021 / Validità: da 8.5.3800

Vedi Anche

  • Is Number (funzione)
  • Is Date (funzione)
  • Number To String (funzione)
  • https://en.wikipedia.org/wiki/IETF_language_tag

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum