Dezimal-, Gleitkomma- und Wertfunktionen

Gilt für: Canvas-Apps Dataverse Formelspalten Desktop-Flows Modellgesteuerte Apps Power Pages Power Platform CLI

Konvertiert eine Textzeichenfolge oder andere Typen zu einer Nummer.

Beschreibung

Anmerkung

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

Verwenden Sie die Funktionen Decimal, Float und Value konvertiert eine Textzeichenfolge, die numerische Zeichen enthält, in einen numerischen Wert. 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 Funktion Value gibt den standardmäßigen numerischen Datentyp für den von Ihnen verwendeten Power Fx Host zurück, der normalerweise Dezimal und in den meisten Situationen die beste Wahl. Benutzen Sie die Decimal und Float Funktionen, wenn Sie einen bestimmten Datentyp für ein bestimmtes Szenario benötigen, beispielsweise 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

Dezimal( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Wert( Zeichenfolge [, Sprachtag ] )

  • 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.

Dezimal( Untypisiert )
Float( Untypisiert )
Wert( Untypisiert )

  • Nicht typisiert – Erforderlich. nicht typisiertes Objekt das stellt eine Zahl dar. Zulässige Werte hängen vom nicht typisierten Anbieter ab. Für JSON wird erwartet, dass das nicht typisierte Objekt eine JSON-Zahl, 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 standardmäßig Decimal.

Wert und Dezimalzahl

Da wir einen Host verwenden, der dies hat Decimal als Standard, Value und Decimal wird die gleichen Ergebnisse zurückgeben.

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

Float

Die Float Funktion wird sehr ähnlich zu den gleichen Ergebnissen wie oben führen. Da 123.456 nicht genau dargestellt werden kann Float, das Ergebnis ist eine Näherung, die sehr nahe an (123.456000000000003069544618484E2) liegt, und die Berechnung von Rundungsfehlern könnte zu einem unerwarteten Ergebnis führen. Der resultierende Typ wird sein Float stattdessen.

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

Formel Beschreibung Result
Gleitkommazahl( 1e100 ) Weil die wörtliche Zahl 1e100 liegt außerhalb des Bereichs von a Decimal, führt dies zu einem Fehler, bevor überhaupt aufgerufen wird Float Funktion. Fehler (Überlauf)
Dezimalzahl (1e100) Gleiches Problem wie bei der Funktion Float. Fehler (Überlauf)
Gleitkommazahl( "1e100" ) Die Zahl in der Textzeichenfolge liegt im Bereich von Float Zahlen. 1e100 Float
Dezimalzahl( "1e100" ) Die Zahl in der Textzeichenfolge liegt im Bereich von Decimal Zahlen. Fehler (Überlauf)
Float( "10000000000.0000000001" ) Die Zahl in der Textzeichenfolge liegt im Bereich von Float Zahlen. Die Zahl erfordert jedoch mehr Präzision, als ein Float bieten kann, und wird abgeschnitten. 1 (Float)
Dezimal( "10000000000.0000000001" ) Die Zahl in der Textzeichenfolge liegt im Bereich und Präzision von einer Decimal Zahlen. 10000000000.0000000001 (Decimal)