C# 入门之格式化输出字符串

前面我们讲特殊符号的时候,我们有讲过 $ 符号,它就是一个简化的格式化输出的符号。今天我们来看看字符串中的 Fromat 方法,可以支持那些种类的格式化输出。

首先我们来看一个最基本的格式化输出:

using System;

namespace ConsoleApp26
{
    class Program
    {
        static void Main(string[] args)
        {
            int price = 100;
            Console.WriteLine(string.Format("The item costs ${0}", price));
        }
    }
}

运行结果:

The item costs $100

看起来,没有 $ 符号方便。

我们接着看下面的示例:

using System;

namespace ConsoleApp26
{
    class Program
    {
        static void Main(string[] args)
        {
            int price = 100;
            Console.WriteLine(string.Format("The item costs {0:c}", price));  // 添加了一个:c
        }
    }
}

运行结果:

The item costs $100.00

是不是不太一样了,我们在 { } 里面添加了一个 : 和 C,我们称这个 c 为标准数字格式说明符。这个说明符,不止 称 c 一个,有好多,具体可以查看微软官网(https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/standard-numeric-format-strings)

我这里只是简单介绍其中的一部分。
首先,就是我们前面示例中的 C,既可以大写,也可以小写,用于表示货币,货币的类型,根据你操作系统的不同,显示的类型不同。我是英文操作系统,所以这里显示的 $。

我们可以通过 N 将数字分段,增加可读性。

using System;

namespace ConsoleApp26
{
    class Program
    {
        static void Main(string[] args)
        {
            int price = 10000000;
            Console.WriteLine(string.Format("The item costs ${0:n}", price));
        }
    }
}

运行结果:

The item costs $10,000,000.00 

我们可以通过 P,以百分比的形式显示浮点数:

using System;

namespace ConsoleApp26
{
    class Program
    {
        static void Main(string[] args)
        {
            float percent = 0.5f;
            Console.WriteLine(string.Format("The task is {0:p}", percent));
        }
    }
}

运行结果:

The task is 50.00%

除了支持标准数字格式说明符外,C# 还支持标准日期和时间格式字符串、标准 TimeSpan 格式字符串等等。

下面我们来看一些标准日期和时间格式字符串(关于标准 TimeSpan 格式字符串以及其他相关的,感兴趣的可以查看微软官方网站。)。

关于标准日期和时间格式字符串详细内容,可以查看下面连接:
https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/standard-date-and-time-format-strings

下面我们来看一些示例:

using System;

namespace ConsoleApp26
{
    class Program
    {
        static void Main(string[] args)
        {
            \\这个示例,我们是通过 DateTime.Now 方法,获取的系统当前日期
            Console.WriteLine(string.Format("it's {0:d}", DateTime.Now));
        }
    }
}

运行结果:

it's 9/30/2021

我们也可以手动指定:

using System;

namespace ConsoleApp26
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime date = new DateTime(2021, 9, 30);
            Console.WriteLine(string.Format("it's {0:d}", date));
        }
    }
}

输出的结果和前面一样:

it's 9/30/2021

<<:  Powershell 入门之函数

>>:  [Day10] THM Anonymous

Day16 - 【概念篇】OAuth flows: Refresh Token

本系列文之後也会置於个人网站 +--------+ +---------------+ | |--...

#23 No-code 之旅 — Next.js 网站可以部署到哪里呢?

大家~ 今天文章会也会很短Q 昨天讲了静态网站可以部署到哪里之後,今天来讲 Next.js 的专案可...

一键更新HTTPS凭证 - Automation Accounts

说明 在前篇介绍建立可提供 Let’s Encrypt 申请凭证的 Application Gate...

Day15 Lua 的全域环境变数 _G 与 _ENV

上一回在研究 rom/programs/monitor.lua 的过程中 看到一些大写的变数 _G,...

Day 11 : 函式的介绍

学完前面的一些程序观念後,我想来简单说一下函式的概念。 函式(function)简单来讲就是一个小程...