ConvertTo-DoubleInvariant

EulandaXtools — Funktionsreferenz

ConvertTo-DoubleInvariant

ÜBERSICHT

Konvertiert einen Wert im US-/Invariant-Format in einen Double und rundet auf die gewünschte Anzahl Nachkommastellen.

SYNTAX

ConvertTo-DoubleInvariant [-Value] <object> [[-Decimals] <int>] [<CommonParameters>]

BESCHREIBUNG

Erwartet Zahlen als Text im Invariant-/US-Format: '.' als Dezimaltrennzeichen, ',' als Tausendertrenner. Beispiel: "1,234.567" -> 1234.567. Ebenfalls akzeptiert werden bereits numerische Eingaben (Double, Decimal, Int). Es wird mit MidpointRounding.AwayFromZero gerundet (kein Banker's Rounding).

PARAMETER

-Value

Type: object

Der zu konvertierende Wert. Kann String oder numerisch sein. Strings werden invariant geparst.

-Decimals

Type: int
Default: 2

Anzahl der Nachkommastellen für die Rundung. Standard ist 2.

AUSGABEN

System.Double

BEISPIELE

# Liest "204.000" (US-Format) als 204.0 und rundet auf 2 Nachkommastellen
ConvertTo-DoubleInvariant -Value '204.000'
# Liest "1,234.56" mit Tausendertrennzeichen als 1234.56
ConvertTo-DoubleInvariant -Value '1,234.56' -Decimals 2
# Pipeline-Nutzung mit Freitext
# Erwartet US-Format und rundet auf 3 Nachkommastellen
'204.125' | ConvertTo-DoubleInvariant -Decimals 3
# Verwendung im Kontext der Positionsmenge (z. B. aus XML)
# Erwartet US-Format in der XML und rundet auf 3 Nachkommastellen
$qtyText = '204.000'
[double]$quantity = ConvertTo-DoubleInvariant -Value $qtyText -Decimals 3