题
它好像的String.Format不会格式的字符串作为输入。我是不是做错了什么,或者这只是本地的行为?
输入:0.37
这是行不通的。
string x = String.Format("{0:P}", myString)
输出:0.37
此一样。
string x = String.Format("{0:P}", Convert.ToDecimal(myString))
输出:37.00%
解决方案
其他提示
您正试图只适用的格式选项可用于数字。没有在.NET智能串的概念,其中,CLR检查要类型的字符串。
难道我做错了什么,或者这只是本地的行为?
这是原生的行为。它基本上不Format
的工作来解释字符串输入。 Format
假定用户提供正确的数据 - 在你的情况下,的数字的数据。字符串是不是数字,即使它的代表的一个数字(这是CS的值/语义及其表示/语法之间的所有重要的区别!)。
不隶属于 StackOverflow