字符串到字符串格式

时间:2014-12-21 14:47:31

标签: c# string

我有一个包含数字的字符串,我希望以这种数字格式显示此字符串:#,##0 所以我尝试添加到这个字符串.ToString("#,##0"),但编译器说

  

最佳重载方法匹配   'string.ToString(System.IFormatProvider)'有一些无效的参数。

任何想法如何在不首先将此字符串转换为int的情况下执行此操作?

3 个答案:

答案 0 :(得分:1)

当您只需要格式化单个数字时,如整数或长整数。在这种情况下,您不需要使用string.Format.You只能使用ToString虚方法。这减少了一些开销。但是你不能使用ToString直接格式化字符串。

答案 1 :(得分:0)

除非您想手动处理字符串,否则我认为不可能。如果您尝试String.Format("{0:#,##0}", "1000000"),则输出为1000000。对我来说,这是有道理的。虽然你可以说“这个字符串一直包含数字”,但这并不是对语言正常做出的安全假设。

你最好的办法是做一些事情:

String.Format("{0:#,##0}", int.Parse(input));

如果你确定它总是一个可转换的整数。

答案 2 :(得分:0)

请先将字符串输入转换为整数,然后尝试格式化字符串。请参阅以下示例:

string test = "12345";
Console.WriteLine("{0}", int.Parse(test).ToString("#,##0"));