使用 Powershell 更改区域设置
Changing regional setting with Powershell
我已经尝试 google 解决这个问题,但没有成功。
是否可以将十进制分隔符更改为“。”在 Powershell 中将千位分隔符改为“,”?
编辑:更准确地说,是否可以更改系统设置。正如我在控制面板/区域设置中手动执行的那样...
提前致谢!
如果您想在系统级别进行更改:
Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sDecimal -Value "."
Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sThousand -Value ","
如果您想在线程级别进行更改:
$culture = [System.Globalization.CultureInfo]::CreateSpecificCulture("en-US")
$culture.NumberFormat.NumberDecimalSeparator = "."
$culture.NumberFormat.NumberGroupSeparator = ","
[System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
然后就可以得到预期的输出:
[double]$x = 12345.67890
"{0:N2}" -f $x
这是输出:
12,345.68
我已经尝试 google 解决这个问题,但没有成功。 是否可以将十进制分隔符更改为“。”在 Powershell 中将千位分隔符改为“,”?
编辑:更准确地说,是否可以更改系统设置。正如我在控制面板/区域设置中手动执行的那样...
提前致谢!
如果您想在系统级别进行更改:
Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sDecimal -Value "."
Set-ItemProperty -Path "HKCU:\Control Panel\International" -Name sThousand -Value ","
如果您想在线程级别进行更改:
$culture = [System.Globalization.CultureInfo]::CreateSpecificCulture("en-US")
$culture.NumberFormat.NumberDecimalSeparator = "."
$culture.NumberFormat.NumberGroupSeparator = ","
[System.Threading.Thread]::CurrentThread.CurrentCulture = $culture
然后就可以得到预期的输出:
[double]$x = 12345.67890
"{0:N2}" -f $x
这是输出:
12,345.68