Powershell字符串格式在控制台中不起作用

Powershell字符串格式在控制台中不起作用,powershell,Powershell,我尝试在powershell 3控制台中格式化字符串,如下所示: PS C:\> "price : {0:C}" -f 15,99 price : ? 15,00 我没有显示货币符号,而是得到了一个“?” 如果我在ISE(windows powershell IDE)中执行相同的命令,我会得到: PS C:\> "price : {0:C}" -f 15,99 price : € 15,00 为什么会这样?是否需要为控制台会话启用设置 -达雷尔对我来说,这看起来像个虫子。格式来自

我尝试在powershell 3控制台中格式化字符串,如下所示:

PS C:\> "price : {0:C}" -f 15,99
price : ? 15,00
我没有显示货币符号,而是得到了一个“?”

如果我在ISE(windows powershell IDE)中执行相同的命令,我会得到:

PS C:\> "price : {0:C}" -f 15,99
price : € 15,00
为什么会这样?是否需要为控制台会话启用设置


-达雷尔

对我来说,这看起来像个虫子。格式来自[System.Globalization.NumberFormatInfo]::CurrentInfo.CurrencySymbol

[System.Globalization.NumberFormatInfo]::CurrentInfo.CurrencySymbol
"price : {0:C}" -f 15,99
[System.Globalization.NumberFormatInfo]::CurrentInfo.CurrencySymbol="€"
"price : {0:C}" -f 15,99

我会检查您的字体设置,通过将我的PowerShell控制台字体设置为“光栅字体”,我可以重现所描述的行为。如果设置为Lucida或ConsoleAs,则此行为不会重现。

可能是某个unicode设置?idk,所以我没有把它作为一个答案,你有没有检查你的控制台的字体设置,以确保字体包括欧元符号?这可能只是一个渲染问题。不确定这是否相关,但还要注意,Powershell land中的
15,99
是一个包含两个int的数组,其中包含条目15和99。格式字符串仅包含一个插槽,因此仅使用15个插槽。这不是一个单一的数字“15和99/100”,我意识到,在欧式风格中,它通常被写为“15,99”。如果您想要那个号码,您需要使用
15.99