【发布时间】:2013-10-09 13:07:28
【问题描述】:
我想要这个“123456789”到这个“123,456,789”。
关于如何使用 .Format() 和 .ToString() 以数字方式格式化非字符串类型的大量 SO 答案。无法从数字字符串中找到有关如何操作的任何答案。
我可以这样做,但并不理想:
Convert.ToInt32(minPrice).ToString("N0");
【问题讨论】:
-
@SystemDown - 因为它已经是一个字符串并且将它转换为一个 int 然后再返回一个字符串似乎没有必要将它返回为不同格式的字符串。
-
另一种方法是手动遍历字符串以找到插入逗号的适当位置,这可能会更加昂贵。
-
除了看似更加昂贵之外,它也可能容易出错。例如,如果它实际上不是一个整数(这会引发您可以修复的异常),或者具有前导零或负号,具体取决于您的实现,您可能会产生错误的结果并且永远不知道它。跨度>
-
这似乎已经是您问题的简单/整洁的解决方案。
-
谢谢,我明白了。那么这将是有道理的,尽管这是一项如此简单的任务,但我似乎找不到任何关于它的文档。如果这是推荐的方式,那么我会坚持下去。
标签: c# format string-formatting tostring number-formatting