Найти и заменить "." персонаж - PullRequest
0 голосов
/ 17 апреля 2020

Есть какая-то папка. Например 0,8, 0,9, 1,0. Между этими названиями максимальное число составляет 1,0. На самом деле я могу найти значение. Но я хочу записать в формате "1.0" в файл .txt.

$maxvalue = ($var | Measure -Max).Maximum
 $vers = 'v'+$maxvalue

найти максимальное значение в $var строках. Когда я хочу добавить к этому имени символ 'v' , он выглядит как v1 . Но я хочу быть похожим на v1.0 для другого файлового процесса в моем коде. Как можно защитить это имя с помощью ". 0" символа и добавить текстовый файл. Спасибо за вашу поддержку

1 Ответ

1 голос
/ 17 апреля 2020

Если в ваших текущих настройках локали вы используете десятичную точку (.), это должно сделать это:

$vers = 'v{0:F1}' -f $maxvalue

Однако, если (как это для меня), текущая настройка локали Если используется десятичная запятая (,), вам необходимо либо временно установить текущую культуру, например, 'en-US':

$oldCulture = [cultureinfo]::CurrentCulture
[cultureinfo]::CurrentCulture = 'en-US'
$vers = 'v{0:F1}' -f $maxvalue
[cultureinfo]::CurrentCulture = $oldCulture

Или сделать:

$vers = 'v' + $maxvalue.ToString("F1",[cultureinfo]::InvariantCulture)

Пожалуйста также взгляните на превосходное объяснение mklement0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...