使用Powershell更改区域设置

Mar*_*rio 4 powershell regional-settings

我试图谷歌这个但没有成功.是否可以将十进制分隔符更改为"." 和Powershell中的"千人"分隔符?

编辑:更准确地说,是否可以更改系统设置.我会在控制面板/区域设置中手动执行...

先感谢您!

Rez*_*aei 7

如果要在系统级别进行更改:

Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sDecimal -Value "."
Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sThousand -Value ","
Run Code Online (Sandbox Code Playgroud)

如果要在线程级别进行更改:

$culture = [System.Globalization.CultureInfo]::CreateSpecificCulture("en-US")
$culture.NumberFormat.NumberDecimalSeparator = "."
$culture.NumberFormat.NumberGroupSeparator = ","
[System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
Run Code Online (Sandbox Code Playgroud)

然后你可以得到预期的输出:

[double]$x = 12345.67890
"{0:N2}" -f $x
Run Code Online (Sandbox Code Playgroud)

这是输出:

12,345.68
Run Code Online (Sandbox Code Playgroud)