Freigeben über


Decimal, Floatund Value Funktionen

Funktionen Gilt für:
Decimal
Float
Copilot Studio Desktop flows Dataverse formula columns Power Platform CLI Dataverse functions
Value Canvas-Apps Copilot Studio Desktop flows Dataverse Formula Columns Modellgesteuerte Apps Power Platform CLI Dataverse Funktionen Power Pages

Konvertiert eine Textzeichenfolge oder andere Typen zu einer Nummer.

Beschreibung

Anmerkung

Power Apps unterstützt nur die Value Funktion und gibt einen Float Wert zurück. Unterstützung für die Decimal und Float Funktionen wird in Kürze hinzugefügt.

Verwenden Sie die Decimal, Floatund Value Funktionen, um eine Zeichenfolge mit Text zu konvertieren, die Zahlenzeichen in einen numerischen Wert enthält. Verwenden Sie diese Funktion, wenn Sie eine Berechnung mit Zahlen durchführen müssen, die von einem Benutzer als Text eingegeben wurden. Diese Funktionen können auch verwendet werden, um andere Typen in eine Zahl umzuwandeln, z. B. Datum/Uhrzeit und Boolescher Wert.

Die Value Funktion gibt den standardmäßigen numerischen Datentyp für den verwendeten Power Fx-Host zurück, der in der Regel Decimal die beste Wahl für die meisten Situationen ist. Verwenden Sie die Decimal Funktionen und Float Funktionen, wenn Sie einen bestimmten Datentyp für ein bestimmtes Szenario benötigen, z. B. eine wissenschaftliche Berechnung mit einer sehr großen Zahl. Weitere Einzelheiten zum Arbeiten mit diesen Datentypen finden Sie unter dem Abschnitt „Zahlen“ der Datentypen.

Verschiedene Sprachen interpretieren , und . unterschiedlich. Standardmäßig wird der Text in der Sprache des aktuellen Benutzers interpretiert. Sie können die zu verwendende Sprache mit einem Sprach-Tag angeben und dabei die gleichen Sprach-Tags verwenden, die auch von der Language-Funktion zurückgegeben werden.

Hinweise zum Format der Zeichenfolge:

  • Für die aktuelle Sprache kann der Zeichenfolge das Währungssymbol vorangestellt werden. Das Währungssymbol wird ignoriert. Währungssymbole für andere Sprachen werden nicht ignoriert.
  • Der Zeichenfolge wird eventuell ein Prozentzeichen (%) am Ende hinzugefügt, das angibt, dass es sich um einen Prozentsatz handelt. Die Anzahl wird vor der Rückgabe durch 100 dividiert. Prozentsätze und Währungssymbole können nicht kombiniert werden.
  • Die Zeichenfolge kann in wissenschaftlicher Schreibweise sein, in der 12 x 103 als "12e3" ausgedrückt wird.

Wenn die Zahl nicht das richtige Format hat, geben diese Funktionen einen Fehler zurück.

Verwenden Sie zum Konvertieren von Datums- und Uhrzeitwerten die Funktionen DateValue, TimeValue oder DateTimeValue.

Syntax

Decimal( Zeichenfolge [, LanguageTag ] )
Float( Zeichenfolge [, LanguageTag ] )
Value( Zeichenfolge [, LanguageTag ] )

  • String – Erforderlich. Die Zeichenfolge, die in einen numerischen Wert konvertiert werden soll.
  • Sprachtag – Optional. Das Sprach-Tag, in dem die Zeichenfolge analysiert werden soll. Standardmäßig wird die Sprache des aktuellen Benutzers verwendet, wenn die Sprache nicht angegeben wurde.

Decimal( Dynamisch )
Float( Dynamisch )
Value( Dynamisch )

  • Dynamisch – Erforderlich. Dynamischer Wert, der eine Zahl darstellt. Zulässige Werte hängen vom nicht typisierten Anbieter ab. Für JSON wird erwartet, dass der dynamische Wert eine JSON-Nummer, ein boolescher Wert oder Text ist, der in eine Zahl konvertiert werden kann. Beachten Sie, dass gebietsschemabezogene Formate wichtige Überlegungen bei der Kommunikation mit externen Systemen sind.

Beispiele

Der Benutzer, der diese Formeln ausführt, befindet sich in den USA und hat Englisch als seine Sprache ausgewählt. Die Funktion Language gibt „en-US“ zurück. Der Power Fx-Host verwendet Decimal standardmäßig.

Value und Decimal

Da wir einen Host verwenden, der den Standardwert aufweist Decimal und ValueDecimal dieselben Ergebnisse zurückgibt.

Formel Beschreibung Result
Value( "123.456" )
Decimal( "123.456" )
Die Standardsprache „En-US“ wird verwendet, in der ein Punkt als Dezimaltrennzeichen verwendet wird. 123.456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
„es-ES“ steht für Spanisch (Spanien). In Spanien ist ein Punkt ein Tausendertrennzeichen. 123456 (Decimal)
Value( "123,456" )
Decimal( "123,456" )
Die Standardsprache „En-US“ wird verwendet, in der ein Komma als Tausendertrennzeichen verwendet wird. 123456 (Decimal)
Value( "123,456", "es-ES" )
Decimal( "123,456", "es-ES" )
„es-ES“ steht für Spanisch (Spanien). In Spanien ist das Dezimaltrennzeichen ein Komma. 123.456 (Decimal)
Value( "12.34%" )
Decimal( "12.34%" )
Das Prozentzeichen am Ende der Zeichenfolge gibt an, dass dies ein Prozentsatz ist. 0.1234 (Decimal)
Value( "$ 12,34" )
Decimal( "$ 12,34" )
Das Währungssymbol der aktuellen Sprache wird ignoriert. 12.34 (Decimal)
Value( "24e3" )
Decimal( "24e3" )
Wissenschaftliche Schreibweise für 24 x 103. 24000 (Decimal)
Value( true )
Decimal( true )
Konvertiert einen Booleschen Wert in eine Zahl, 0 für false und 1 für true 1 Decimal

Float

Die Float Funktion hat die gleichen Ergebnisse wie oben. Da 123,456 nicht genau dargestellt Floatwerden kann, ist das Ergebnis eine Annäherung, die sehr nahe ist (123.4560000000000003069544618484E2) und Verbund-Rundungsfehlerberechnungen können zu einem unerwarteten Ergebnis führen. Stattdessen wird der resultierende Typ verwendet Float .

Unterschiede bestehen dann, wenn größere oder kleinere Zahlen verwendet werden.

Formel Beschreibung Result
Float( 1e100 ) Da die Literalzahl 1e100 über den Bereich eines DecimalBereichs hinausgeht, führt dies zu einem Fehler, bevor die Float Funktion jemals aufgerufen wird. Fehler (Überlauf)
Decimal( 1e100 ) Dasselbe Problem wie bei der Float Funktion. Fehler (Überlauf)
Float( "1e100" ) Die Zahl in der Textzeichenfolge liegt innerhalb des Zahlenbereichs Float . 1e100 Float
Decimal( "1e100" ) Die Zahl in der Textzeichenfolge liegt außerhalb des Zahlenbereichs Decimal . Fehler (Überlauf)
Float( "10000000000.0000000001" ) Die Zahl in der Textzeichenfolge liegt innerhalb des Zahlenbereichs Float . Die Zahl erfordert jedoch eine größere Genauigkeit als eine Float möglichkeit und wird abgeschnitten. 1 (Float)
Decimal( "10000000000.0000000001" ) Die Zahl in der Textzeichenfolge befindet sich innerhalb des Bereichs und der Genauigkeit einer Decimal Zahl. 10000000000.000000001 (Decimal)