5
Ich versuche, Zeichenfolgen wie 5.7303333333e+02
in einen Dezimaltyp zu konvertieren. Ich habe versucht, zu verwenden, aber die Rückgabe ist falsch. Gibt es eine ähnliche Methode wie [datetime]::parseexact
oder eine saubere Methode zum Konvertieren dieser Zeichenfolgen? Oder muss ich die e+02
analysieren und diese Mathematik getrennt machen?Wie kann ich eine Zeichenkette wie zB 5.7303333333e + 02 in PowerShell in einen Dezimaltyp umwandeln?
+1 es funktioniert. Aber ich frage mich, welcher Casting-Mechanismus im Hintergrund verwendet wird, wenn es nicht '[decimal] ist :: TryParse (" 5,7303333333e + 02 ", [ref] $ dec)'. Das Problem ist die nicht unterstützte wissenschaftliche Notation, weil '[decimal] :: TryParse (" 5,7303333333 ", [ref] $ dec)' funktioniert ... Siehe hier: http://msdn.microsoft.com/de-de /library/9zbda557.aspx –
Ich bin überrascht, dass das funktioniert, aber '[decimal] :: TryParse' nicht. Viel sauberer als mit TryParse sowieso. –
@davor: Mit 'Trace-Command TypeConversion {[Dezimal] '5.7303333333e + 02'} -PSHost', können Sie sehen, dass PowerShell die Format-Ausnahme abfängt und die Konvertierung erneut durch Parsen mit '[double]' und dann versucht Umwandlung in '[Dezimal]'. –