2013-06-06 12 views

risposta

8

Che dire:

[int]"5.7303333333e+02" 
[decimal]"5.7303333333e+02" 
+1

+1 funziona. Ma mi chiedo quale meccanismo di casting sia usato in background, se non è '[decimal] :: TryParse (" 5,7303333333e + 02 ", [ref] $ dec)'. Il problema è la notazione scientifica non supportata perché '[decimal] :: TryParse (" 5.7303333333 ", [ref] $ dec)' funziona ... Vedi qui: http://msdn.microsoft.com/en-us /library/9zbda557.aspx –

+0

Sono sorpreso che abbia funzionato, ma '[decimal] :: TryParse' no. Molto più pulito rispetto all'utilizzo TryParse comunque. –

+3

@davor: Usando 'Trace-Command TypeConversion {[decimal] '5.7303333333e + 02'} -PSHost', puoi vedere che PowerShell cattura l'eccezione di formato e riprova la conversione analizzando con '[double]' e poi convertendo in '[decimale]'. –

Problemi correlati