Funzioni Decimale, Float e Valore

Si applica a: app canvas colonne di formula Dataverse flussi desktop app basate su modello Power Platform CLI

Converte una stringa di testo o di altro tipo in un numero.

Descrizione

Nota

Power Apps supporta solo la funzione Valore e restituisce un valore Float. Il supporto per le funzioni Decimale e Float verrà aggiunto presto.

Usa le funzioni Decimale, Float e Value per convertire una stringa di testo che contiene caratteri numerici in un valore numerico. Usa questa funzione quando devi eseguire calcoli con numeri immessi come testo da un utente. Queste funzioni possono essere utilizzate anche per convertire altri tipi in un numero, come data/ora e booleano.

La funzione Value restituirà il tipo di dati numerico predefinito per l'host Power Fx che stai utilizzando, che di solito è Decimale e la scelta migliore per la maggior parte delle situazioni. Utilizza le funzioni Decimale e Float quando hai bisogno di un tipo di dati specifico per uno scenario particolare, ad esempio un argomento calcolo scientifico con un numero molto grande. Per ulteriori dettagli su come lavorare con questi tipi di dati, vedi la sezione Numeri di Tipi di dati.

Ogni lingua interpreta , e . differentemente. Per impostazione predefinita, il testo viene interpretato nella lingua dell'utente corrente. Puoi specificare la lingua da usare con uno degli stessi tag di lingua restituiti dalla funzione Language.

Note sul formato della stringa:

  • La stringa può essere preceduta dal simbolo di valuta per la lingua corrente. Il simbolo di valuta viene ignorato. I simboli di valuta per le altre lingue non vengono ignorati.
  • La stringa può includere un segno di percentuale (%) alla fine, per indicare che si tratta di una percentuale. Il numero verrà diviso per 100 prima di essere restituito. Le percentuali e i simboli di valuta non possono essere combinati.
  • La stringa può essere scritta in notazione scientifica, con 12 x 103 espresso come "12e3".

Se il numero non è nel formato corretto, queste funzioni restituiranno un errore.

Per convertire i valori di data e ora, usa le funzioni DateValue, TimeValue o DateTimeValue.

Sintassi

Decimale( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Value( String [, LanguageTag ] )

  • String: obbligatorio. Stringa da convertire in un valore numerico.
  • LanguageTag: facoltativo. Tag di lingua in cui analizzare la stringa. Se non viene specificato, viene usata la lingua dell'utente corrente.

Decimale( Untyped )
Float( Untyped )
Value( Untyped )

  • Untyped: obbligatorio. Oggetto non tipizzato che rappresenta un numero. I valori accettabili dipendono dal provider non tipizzato. Per JSON, l'oggetto non tipizzato dovrebbe essere un numero JSON, un valore booleano o un testo che può essere convertito in un numero. Tieni presente che i formati relativi alle impostazioni locali sono considerazioni importanti quando si comunica con i sistemi esterni.

Esempi

L'utente che esegue queste formule si trova negli Stati Uniti e ha selezionato l'inglese come lingua. La funzione Language restituisce "en-US". L'host Power Fx usa Decimale per impostazione predefinita.

Value e Decimale

Poiché stiamo utilizzando un host che ha Decimale predefinito, Value e Decimale restituirà gli stessi risultati.

Formula Descrizione Result
Value( "123.456" )
Decimali ("123,456")
Verrà usata la lingua predefinita "en-US", che usa il punto come separatore decimale. 123,456 (Decimale)
Value( "123.456", "es-ES" )
Decimale ( "123,456", "es-ES" )
"es-ES" è il tag di lingua per lo spagnolo in Spagna. In Spagna il punto è il separatore delle migliaia. 123456 (Decimale)
Value( "123.456" )
Decimale ("123,456")
Verrà usata la lingua predefinita "en-US", che usa la virgola come separatore delle migliaia. 123456 (Decimale)
Value( "123.456", "es-ES" )
Decimale ("123,456", "es-ES")
"es-ES" è il tag di lingua per lo spagnolo in Spagna. In Spagna la virgola è il separatore decimale. 123,456 (Decimale)
Value( "12.34%" )
Decimali ("12,34%")
Il segno di percentuale alla fine della stringa indica che si tratta di una percentuale. 0,1234 (Decimale)
Value( "$ 12.34" )
Decimale ("12,34 $")
Il simbolo di valuta per la lingua corrente viene ignorato. 12,34 (Decimale)
Value( "24e3" )
Decimale ("24e3")
Notazione scientifica per 24 x 103. 24.000 (Decimale)
Value (true)
Decimale (true)
Converte un valore booleano in un numero, 0 per false e 1 per true 1 Decimale

Float

La funzione Float restituirà risultati molto vicino agli stessi risultati di cui sopra. Poiché 123.456 non può essere rappresentato con precisione in Float, il risultato è un'approssimazione molto vicina a (123.456000000000003069544618484E2) e i calcoli degli errori di arrotondamento composti potrebbero produrre un risultato inaspettato. Il tipo risultante sarà invece Float.

Il risultato sarà diverso se vengono utilizzati numeri più grandi o più piccoli.

Formula Descrizione Result
Float (1e100) Poiché il valore letterale 1e100 è oltre l'intervallo di un Decimale, ciò si traduce in un errore prima ancora di richiamare la funzione Float. errore (overflow)
Decimale (1e100) Stesso problema della funzione Float. errore (overflow)
Float ("1e100") Il numero nella stringa di testo è compreso nell'intervallo di numeri Float. 1e100 Float
Decimale ("1e100") Il numero nella stringa di testo è oltre l'intervallo di numeri Decimale. errore (overflow)
Float ("10000000000.0000000001") Il numero nella stringa di testo è compreso nell'intervallo di numeri Float. Tuttavia, il numero richiede una precisione maggiore di quella che Float può fornire e verrà troncato. 1 (Float)
Decimale ("10000000000.0000000001") Il numero nella stringa di testo è all'interno dell'intervallo e della precisione di numeri Decimale. 10000000000.0000000001 (Decimale)