在.NET中通过格式字符串发出冒号

use*_*239 9 .net c# string

有谁知道如何在.NET中构造格式字符串,以便生成的字符串包含冒号?

详细地说,我有一个值,比如200,我需要格式化为比率,即"1:200".所以我正在构建一个类似于"1:{0:N0}"的格式字符串,它可以正常工作.问题是我想零显示为"0",而不是"1:0",所以我的格式字符串应该是"{0:1:N0 ;; N0}",但当然这不起作用.

有任何想法吗?谢谢!

Aak*_*shM 16

using System;

namespace ConsoleApplication67
{
    class Program
    {
        static void Main()
        {
            WriteRatio(4);
            WriteRatio(0);
            WriteRatio(-200);

            Console.ReadLine();
        }

        private static void WriteRatio(int i)
        {
            Console.WriteLine(string.Format(@"{0:1\:0;-1\:0;\0}", i));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

1:4
0
-1:200
Run Code Online (Sandbox Code Playgroud)

;格式字符串中的分隔符表示'做这样的正数; 像这样的负数; 和这样的零'.该\逃逸结肠.第三个\并不是绝对必要的,因为文字零与零的标准数字格式输出相同:)

  • 尼斯.我没见过';' 语法之前. (2认同)
  • 啊,完美 - 这是我们缺少的字符串文字 - 我们实际上尝试过对结肠的攻击,但当然没有@ -ing字符串就无法编译.干杯AakashM. (2认同)