C# の書式設定 10 進数 N と F の違い

C# の 10 進数 N と F の書式設定には違いがあります。N の書式設定では、整数部分は 1 桁で始まり、3 桁ごと (1000 回) にカンマが自動的に追加されますが、F の書式設定にはコンマがありません。

例えば:

ダブル d=12345.6789;

N3 をフォーマットした結果の文字列は 12,345.679 になります。整数部分は 1 桁で始まり、3 桁ごとにカンマが自動的に追加されます (1,000 回)。

F3 をフォーマットした結果の文字列は 12345.679 です。カンマなし

フォーマッタの例は次のとおりです。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NumberFormatDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            double d = 12345.6789;
            string formatN = d.ToString("N3");
            string formatF = d.ToString("F3");
            Console.WriteLine($"格式化为N3,结果为【{formatN}】,是否包含逗号:【{formatN.Contains(",")}】");
            Console.WriteLine($"格式化为F3,结果为【{formatF}】,是否包含逗号:【{formatF.Contains(",")}】");
            Console.WriteLine();

            d = 1.23456789E+3; 
            formatN = d.ToString("N3");
            formatF = d.ToString("F3");
            Console.WriteLine($"格式化为N3,结果为【{formatN}】,是否包含逗号:【{formatN.Contains(",")}】");
            Console.WriteLine($"格式化为F3,结果为【{formatF}】,是否包含逗号:【{formatF.Contains(",")}】");
            Console.WriteLine();

            d = 1.23456789E-6;
            Console.WriteLine(d);
            formatN = d.ToString("N3");
            formatF = d.ToString("F3");
            Console.WriteLine($"格式化为N3,结果为【{formatN}】,是否包含逗号:【{formatN.Contains(",")}】");
            Console.WriteLine($"格式化为F3,结果为【{formatF}】,是否包含逗号:【{formatF.Contains(",")}】");
            Console.WriteLine();

            d = 1.23456789E6;
            formatN = d.ToString("N3");
            formatF = d.ToString("F3");
            Console.WriteLine($"格式化为N3,结果为【{formatN}】,是否包含逗号:【{formatN.Contains(",")}】");
            Console.WriteLine($"格式化为F3,结果为【{formatF}】,是否包含逗号:【{formatF.Contains(",")}】");
            Console.WriteLine();

            d = 68.23450789E0;
            formatN = d.ToString("N3");
            formatF = d.ToString("F3");
            Console.WriteLine($"格式化为N3,结果为【{formatN}】,是否包含逗号:【{formatN.Contains(",")}】");
            Console.WriteLine($"格式化为F3,结果为【{formatF}】,是否包含逗号:【{formatF.Contains(",")}】");
            Console.WriteLine();

            d = 55;
            formatN = d.ToString("N3");
            formatF = d.ToString("F3");
            Console.WriteLine($"格式化为N3,结果为【{formatN}】,是否包含逗号:【{formatN.Contains(",")}】");
            Console.WriteLine($"格式化为F3,结果为【{formatF}】,是否包含逗号:【{formatF.Contains(",")}】");
            Console.WriteLine();

            d = 67890;
            formatN = d.ToString("N3");
            formatF = d.ToString("F3");
            Console.WriteLine($"格式化为N3,结果为【{formatN}】,是否包含逗号:【{formatN.Contains(",")}】");
            Console.WriteLine($"格式化为F3,结果为【{formatF}】,是否包含逗号:【{formatF.Contains(",")}】");
            Console.WriteLine();
            Console.ReadLine();
        }
    }
}

図に示すように実行します。

 

おすすめ

転載: blog.csdn.net/ylq1045/article/details/129320685