EulandaXtools — Funktionsreferenz
Konvertiert einen Wert im US-/Invariant-Format in einen Double und rundet auf die gewünschte Anzahl Nachkommastellen.
ConvertTo-DoubleInvariant [-Value] <object> [[-Decimals] <int>] [<CommonParameters>]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).
-Value
Type: objectDer zu konvertierende Wert. Kann String oder numerisch sein. Strings werden invariant geparst.
-Decimals
Type: int
Default: 2Anzahl der Nachkommastellen für die Rundung. Standard ist 2.
System.Double# 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