Tanto o ChatGPT quanto o Copilot falharam comigo. Estou tentando adicionar preenchimento a um tempo que me dá dois dígitos para segundos inteiros e três dígitos para segundos fracionários. Então, dado $time
que é produzido por
$timer = [Stopwatch]::StartNew()
$timer.Stop()
$time = $timer.Elapsed.TotalSeconds
A IA sugere coisas como
$time = [Math]::Round($time, 3)
$time = "{0:000.000}" -f $time
Quando tento usar o tempo resultante assim
"$($time): $function"
Obtenho um único 0 à esquerda do decimal e nenhum zero à direita é adicionado.
Onde eu (e a IA) estamos errando?
Usar a string de formato
00.000
é realmente correto, mas como você está atribuindo a string resultante de volta a$time
(que parece ter um[double]
atributo de tipo anexado), ela é analisada e convertida de volta para a[double]
imediatamente, e é por isso que ela repentinamente é renderizada como apenas0
quando você a usa posteriormente em uma string expansível.Atribua a saída da
-f
operação a uma variável que não seja[double]
do tipo - e funcionará perfeitamente: