C#格式化小数N与F是有区别的,其中格式化N,整数部分从个位开始每三位(千倍)自动增加逗号,而格式化F是没有逗号的。
比如:
double d=12345.6789;
格式化N3的结果字符串为:12,345.679。整数部分从个位开始每三位(千倍)自动增加逗号
格式化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();
}
}
}