Это своего рода спецификатор формата для форматирования числовых результатов. На ссылка.
Что делает N
, так это то, что он разделяет числа на тысячи знаков после запятой в соответствии с вашим CultureInfo и представляет только 2 десятичных знака в плавающей части, как N2
, при необходимости округляя крайнюю правую цифру.
N0
не представляет никакого десятичного разряда, но к нему применяется округление.
Приведем пример.
using System;
using System.Globalization;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
double x = 567892.98789;
CultureInfo someCulture = new CultureInfo("da-DK", false);
// 10 means left-padded = right-alignment
Console.WriteLine(String.Format(someCulture, "{0:N} denmark", x));
Console.WriteLine("{0,10:N} us", x);
// watch out rounding 567,893
Console.WriteLine(String.Format(someCulture, "{0,10:N0}", x));
Console.WriteLine("{0,10:N0}", x);
Console.WriteLine(String.Format(someCulture, "{0,10:N5}", x));
Console.WriteLine("{0,10:N5}", x);
Console.ReadKey();
}
}
}
Это дает,
567.892,99 denmark
567,892.99 us
567.893
567,893
567.892,98789
567,892.98789
person
snr
schedule
25.11.2019