String.Format不格式化字符串

Cod*_*313 6 .net string.format

似乎String.Format不会将字符串格式化为输入.我做错了什么,或者这只是本地行为?

输入:0.37

这不起作用.

string x = String.Format("{0:P}", myString)
Run Code Online (Sandbox Code Playgroud)

产量:0.37

这样做.

string x = String.Format("{0:P}", Convert.ToDecimal(myString))
Run Code Online (Sandbox Code Playgroud)

产量:37.00%

Dan*_*rza 9

我相信这是"复合格式化"的预期行为.

您的第一个示例是尝试将数字格式规则应用于字符串.您的第二个示例是尝试将数字格式规则应用于可以具有小数位的数字.

有关详细信息,请参阅MSDN上的这篇文章.