Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 字符串。设置整数格式以使用不带小数点的千位分隔符,或对小整数使用前导0_C#_String Formatting - Fatal编程技术网

C# 字符串。设置整数格式以使用不带小数点的千位分隔符,或对小整数使用前导0

C# 字符串。设置整数格式以使用不带小数点的千位分隔符,或对小整数使用前导0,c#,string-formatting,C#,String Formatting,愚蠢的问题,我想设置一个整数的格式,使其显示时带有1000的分隔符(,),但也不带小数点和前导0 到目前为止,我的努力是: String.Format("{0} {1}", 5, 5000); // 5 5000 String.Format("{0:n} {1:n}", 5, 5000); // 5.00 5,000.00 String.Format("{0:0,0} {1:0,0}", 5, 5000); // 05 5,000 我想要的输出是: 5

愚蠢的问题,我想设置一个整数的格式,使其显示时带有1000的分隔符(,),但也不带小数点和前导0

到目前为止,我的努力是:

String.Format("{0} {1}", 5, 5000);            // 5 5000
String.Format("{0:n} {1:n}", 5, 5000);        // 5.00 5,000.00
String.Format("{0:0,0} {1:0,0}", 5, 5000);    // 05 5,000
我想要的输出是:

5 5,000
有什么明显的东西我遗漏了吗

String.Format("{0:#,0} {1:#,0}", 5, 5000); // "5 5,000"
  • 0
    在格式字符串中表示将属于此处的数字放在此处,或者用[leading/training]零[使事物对齐,等等]。编辑:您肯定想要一个作为模式中的最后一个数字,否则零值将被呈现为空字符串
  • #
    表示除非这里有有效数字,否则不要在输出中输入任何内容
编辑(谢谢@eulerfx):

  • 最后一部分需要是
    0
    ,而不是
    #
    (正如我最初使用的那样),否则,零值将被呈现为零长度字符串
    • 这对我很有效

      String.Format("{0:#,0} {1:#,0}", 5, 5000); // 5 5,000
      
      试一试

      试试这个:-

      String.Format("{0:n0}",5000) // 5,000
      String.Format("{0:n0}",5) // 5
      String.Format("{0:n0}",0) // 0
      

      #
      真的不会在任何地方放一个空格,是吗?我以为如果没有数字放在那里,它什么也没做……当数字为0时,它返回一个空字符串。请参阅@eulerfx的评论re my Answers这是一个有文化的吗?i、 例如,是否使用正确的千位分隔符?是的,如果未提供FormatProvider,则String.Format使用当前区域性信息。因此,如果您将数字分组符号(千位分隔符)从更改为-那么结果将是5-000而不是5000这是迄今为止最好的解决方案,因为它考虑了用户文化!非常感谢你!System.String.Format(“Bla:{0:#,##0;(-#,###0}),80300.656)如果没有四舍五入:System.String.Format(“Bla:{0:#,##0;(#,####0)}),Floor(80300.456。所以要确定你要在哪里使用这个字符串,然后正确地解析它。
      String.Format("{0:n0}",5000) // 5,000
      String.Format("{0:n0}",5) // 5
      String.Format("{0:n0}",0) // 0