Спецификаторы формата числовых данных



 

Для числовых данных определено несколько спецификаторов формата, сведенных в табл. 22.4. Каждый спецификатор формата может включать в себя дополнительный, но необязательный спецификатор точности. Так, если числовое значение требуется указать в формате с фиксированной точкой и двумя десятичными разрядами в дробной части, то для этой цели служит спецификатор F2.

 

Таблица 22.4. Спецификатооы формата числовых данных

 

Спецификатор

Формат - Назначение спецификатора точности

 

C

Денежная единица

Задает количество десятичных разрядов

 

с

То же, что и С

 

D

Целочисленный (используется только с

целыми числами)  

Задает минимальное количество цифр. При необходимости результат дополняется начальными нулями

 

d

То же, что и D

 

Е

Экспоненциальное представление чисел (в обозначении используется прописная буква Е)

Задает количество десятичных разрядов. По умолчанию используется шесть рязрядов

 

е

Экспоненциальное представление чисел (в обозначении используется строчная буква е)

Задает количество десятичных разрядов. По умолчанию используется шесть рязрядов

 

F

Представление чисел с фиксированной точкой

Задает количество десятичных разрядов

 

f

То же, что и F

 

G

Используется более короткий из двух форматов: Е или F

См. спецификаторы Е и F

 

g

Используется более короткий из двух форматов: е или f

См. спецификаторы е и f

 

N

Представление чисел с фиксированной точкой (и запятой в качестве разделителя групп разрядов)

Задает количество десятичных разрядов

 

n

То же, что и N

 

P

Проценты

Задает количество десятичных разрядов

 

р

То же, что и Р

 

R или г

Числовое значение, которое преобразуется с помощью метода Parse() в эквивалентную внутреннюю форму. (Это так называемый “круговой” формат)

Не используется

 

X

 

Шестнадцатеричный (в обозначении используются прописные буквы A-F)

Задает минимальное количество цифр. При необходимости результат дополняется начальными нулями

 

x

Шестнадцатеричный (в обозначении используются строчные буквы A-F)

Задает минимальное количество цифр. При необходимости результат дополняется начальными нулями

 

Как пояснялось выше, конкретное действие спецификаторов формата зависит от текущих настроек параметров культурной среды. Например, спецификатор денежной единицы С автоматически отображает числовое значение в формате денежной единицы, выбранном для локализации программного обеспечения в конкретной культурной среде. Для большинства пользователей используемая по умолчанию информация о культурной среде соответствует их региональным стандартам и языковым особенностям. Поэтому один и тот же спецификатор формата может использоваться без учета культурного контекста, в котором выполняется программа.

В приведенной ниже программе демонстрируется применение нескольких спецификаторов формата числовых данных.

 

// Продемонстрировать применение различных

// спецификаторов формата числовых данных.

using System;

class FormatDemo {

static void Main() {

double v = 17688.65849;

double v2 = 0.15;

int x = 21;

 

Console.WriteLine("{0:F2}", v);

Console.WriteLine("{0:N5}", v);

Console.WriteLine ("{0:e}", v);

Console.WriteLine("{0:r}", v);

Console.WriteLine("{0:p}", v2);

Console.WriteLine("{0:X}", x);

Console.WriteLine("{0:D12}", x);

Console.WriteLine("{0:C}", 189.99);

}

}

 

Эта программа дает следующий результат.

 

17688.66

17.688.65849

1.768866е+004

17688.65849

15.00 %

15

000000000021

$189.99

 

Обратите внимание на действие спецификатора точности в нескольких форматах.

 

 

Представление о номерах аргументов

 

Следует иметь в виду, что аргумент, связанный со спецификатором формата, определяется номером аргумента, а не его позицией в списке аргументов. Это означает, что один и тот же аргумент может указываться неоднократно в одном вызове метода WriteLine(). Эта также означает, что аргументы могут отображаться в той последовательности, в какой они указываются в списке аргументов. В качестве примера рассмотрим следующую программу.

 

using System;

class FormatDemo2 {

static void Main() {

Форматировать один и тот же аргумент тремя разными способами.

Console.WriteLine("{0:F2} {0:F3} {0:e}", 10.12345);

 


Дата добавления: 2019-02-12; просмотров: 384; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!