Преобразование числа в формат денежных единиц по условию

money_format

money_format() форматирует число number как денежную величину. Эта функция вызывает функцию strfmon языка C, но позволяет преобразовать только одно число за один вызов.

Замечание: Функция money_format() определена только если в системе присутствует функция strfmon. Например, в Windows она отсутствует, поэтому money_format() не определена в Windows.

Описание формата состоит из:

необязательной ширины поля

необязательной точности до запятой

необязательной точности после запятой

обязательного описателя преобразования

Флаги. Могут быть использованы следующие флаги:

Символ =, за которым следует еще один символ, задает символ заполнения. По умолчанию пробел.

Запрещает группировку символов (определяемую текущей локалью).

Задает способ форматирования положительных и отрицательных значений. При использовании + будут использоваться аналоги символов + и — из текущей локали. Если указана (, отрицательные числа будут заключены в скобки. По умолчанию +.

Подавляет вывод символа валюты.

Если этот флаг задан, поля будут выравнены влево, вместо используемого по умолчанию выравнивания вправо.

Строка из десятичных цифр, задающая минимальную ширину поля. Поле будет выравнено вправо, если не указан флаг -. Значение по умолчанию — 0 (ноль).

Точность до запятой.

Максимальное количество цифр (n), которое ожидается до запятой. Это обычно используется при выводе значений одно под другим, чтобы десятичные точки распологались в одной колонке, при этом используется символ заполнения, если число цифр меньше n. Если число цифр больше n, этот параметр игнорируется.

Если группировка не была запрещена флагом ^, разделители групп будут вставлены перед добавлением символов заполнения. Разделители групп не вставляются между символами заполнения, даже если заполнитель — цифра.

Для обеспечения выравнивания, все символы, выводимые до или после числа, такие как сивол валюты или знак, будут дополнены пробелами до одинаковой ширины.

Точность после запятой .

Точка, за которой следует число знаков, выводимых после запятой. Если значение p рано нулю, десятичная точка и цифры после нее не будут выводиться. Если этот параметр отсутствует, число знаков после запятой определяется текущей локалью. Перед форматированием число округляется до указанного количества знаков.

Используется международный денежный формат из текущей локали (например, для американской локали: USD 1,234.56).

Используется национальный денежный формат из текущей локали (например, для локали de_DE: DM1.234,56).

Замечание: На работу этой функции влияет установка категории LC_MONETARY текущей локали. Перед использованием этой функции установите нужную локаль с помощью setlocale() .

Символы перед и после описания формата возвращаются без изменений.

Пример 1. Пример использования money_format()

Проиллюстрируем применение этой функции для различных локалей и разных описаний формата.

Преобразование экспоненциальной записи числа в естественную

Экспоненциальная запись — представление действительных чисел в виде мантиссы и порядка. Удобна при представлении очень больших и очень малых чисел, а также для унификации их написания.

На компьютере (в частности в тексте компьютерных программ) экспоненциальную запись записывают в виде MEp, где:

M — мантисса,

E (exponent) — буква E, означающая «*10^» («…умножить на десять в степени…»),

p — порядок.

Например:

Расшифруем число 3.5E2

Е — это 10, цифры после Е — показатель степени, в который возводится 10.

3.5E2 = 3.5 ∙ 10 2 = 3.5 ∙ 100 = 350

Еще примеры:

6.02E+3 = 6.02 ∙ 10 3 = 6.02 ∙ 1000 = 6020

6.02E+4 = 6.02 ∙ 10 4 = 6.02 ∙ 10000 = 60200

6.02E-9 = 6.02 ∙ 10 -9 = 6.02 ∙ 0.000000001 = 0.00000000602

6.02214129E23 = 6.02214129 ∙ 10 23 = 6.02214129 ∙ 99999999999999991611392 = 602214128999999968641024

Преобразование формата через формулы

Перевести цифровые значения из текстового формата в числовой можно с помощью специальной формулы ЗНАЧЕН.

  1. В данном случае нужно создать новый столбик справа от значений, которые будем переводить в другой формат.
  2. В первой ячейке нового столбика вводим формулу «=ЗНАЧЕН(D5)». В скобках следует указать адрес ячейки.
  3. После применения формулы в первой ячейке следует растянуть ее действие на всю длину столбца, нажав курсором мышки на нижний правый угол ячейки и потянув его вниз.
  1. Преобразованные значения копируем и переносим в столбец с исходными данными. Выделяем столбец с новыми значениями и нажимаем комбинацию клавиш на клавиатуре «Ctrl+С». Таким образом значения сохранились в буфере обмена. Далее переходим в первую ячейку столбца с исходными значениями и, нажав на стрелочку под параметром «Вставка» на «Главной» вкладке, выбираем категорию «Вставить значения».

Функции конвертации типов данных доступные в SQL

Строчные функции конвертации типа данных разработаны для изменения типа данных столбца, выражения или литерала. Наиболее часто используемые функции конвертации это TO_CHAR, TO_NUMBER и TO_DATE. TO_CHAR преобразует числа и даты в символьные данные, когда TO_NUMBER и TO_DATE преобразует символьные данные соответственно в число и дату.

Функции конвертации

Oracle позволяет определять столбцы с типами данных ANSI, DB2 и SQL/DS. Эти типы преобразуется к типам данных Oracle. У каждого столбца определяется тип данных который ограничивает природу данных которые могут храниться в этом столбце. Столбец NUMBER не может хранить символьную информацию. Столбец DATE не может хранить случайные символы или числа. VARCHAR2 может хранить символьные эквиваленты чисел и дат.

Если функция у которой входной параметр является строкой получает на вход число, Oracle автоматически конвертирует его в символьный эквивалент. Если функция с входными параметрами типа данных число или дата получает на вход строку, то должны соблюдаться определённые условия для автоматической конвертации. Несмотря на то что автоматическая неявная конвертация доступна, гораздо более понятно и надёжно явно сконвертировать один тип данных в другой перед вызовом строчной функции.

Неявная конвертация типов

Значения, которые не соответствуют типам данных параметров функции неявно конвертируется перед выполнением если это возможно. Оба типа данных VARCHAR2 и CHAR используются как символьные типы данных. Символьные типы данных достаточно гибкие для хранения практически любой информации. Таким образом, ДАТА и ЧИСЛО можно легко преобразовать в их символьный эквивалент. Такая конвертация известна как преобразования число в строку и дата в строку. Рассмотрим следующие запросы

Query 1: select length(1234567890) from dual

Query 2: select length(SYSDATE) from dual

Оба запроса используют функцию LENGTH у которой входной параметр определён как строка. Число 1234567890 в запросе один неявно конвертируется в строку ‘1234567890’ перед вычисление функции LENGTH и результат функции будет 10. Запрос номер два вычисляет функцию SYSDATE предположим 7 апреля 2008 года. Результат преобразуется в строку ’07-APR-08’ и результат выполнения функции LENGTH будет число 9.

Обычно не принято допускать неявную конвертацию строк в числа, так как единственная ситуация, когда это возможно, это если строка представляет собой валидное число. Строка ‘11’ будет неявно преобразована в число 11, но строка ’11.123.345’ не будет, как показано в следующих примерах

Query 3: select mod(’11’, 2) from dual

Query 4: select mod(‘11.123’, 2) from dual

Query 5: select mod(‘11.123.456’, 2) from dual

Query 6: select mod(‘$11’, 2) from dual

Запросы 3 и 4 неявно преобразовали строки ‘11’ и ’11.123’ в числа 11 и 11.123 соответственно, перед вызовом функции MOD которая в свою очередь вернула результат 1 и 1.123. Запрос 5 вернул ошибку ‘ORA-1722: invalid number’, когда Oracle попытался неявно преобразовать строку в число, так как ‘11.123.456’ не является корректным числом. Запрос 6 также вернул ошибку так как символ доллара не может бять неявно преобразован в число.

Неявная конвертация строки в дату возможна, когда строка удовлетворяет следующим шаблонам: [D|DD] separator1 [MON|MONTH] separator2][R|RR|YY|YYYY], где D и DD это день MON первые три буквы месяца, MONTH – полное название месяца. R и RR YY и YYYY отображают одну, две и четыре цифры года соответственно. Параметром separator1 и separator2 может быть практически любой спец символ, включая сюда пробел, табуляцию, знаки пунктуации и т.д. Таблица 10-2 показывает неявную конвертацию строки в дату, включая вызов функций работы с датами и результаты. Эти результаты предполагают, что система использует американскую локаль.

5

TIP Несмотря на то что неявная конвертация типов доступна, лучше использовать явный вызов функции конвертации перед использование данным в других функциях. Конвертация строки в число и дату использует маску форматирования.

Явная конвертация типов данных

Функции, которые конвертирует значение из одного типа данных в другой известны как явное преобразование типов. Они возвращают значение, которое будет гарантировано нужного типа данных и являются надёжным методом конвертации данных.

Число и дату можно явно конвертировать в строку используя функцию TO_CHAR. Строку можно явно конвертировать в число используя функцию TO_NUMBER. Функция TO_DATE используется для конвертации строку в DATE. Маски форматирования Oracle позволяют гибко контролировать процесс конвертации строки в число или дату.

Понимание широко используемых масок форматирования проверяется достаточно просто вопросами вида: какой результат вернёт вызов функций TO_CHAR(TO_DATE(’01-JAN-00′,’DD-MON-RR’),’Day’).

Использование функций TO_CHAR, TO_NUMBER и TO_DATE

При сертификации очень часто используются вопросы о функциях TO_NUMBER, TO_DATE и TO_CHAR с примерами для анализа. Обсуждение функции TO_CHAR разделим на две части: конвертация даты в строку и конвертация числа в строку. Такое разделение основано на том что для разных типов данных доступны разные маски форматирования. Помимо этих функций существует много других, но эти используется наиболее часто.

Использование функций конвертации

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

Таблица 10-3 показывает синтаксис строчных функций конвертации данных

Необязательный параметр поддержки национального формата (nls_parameters) полезен для указания языка и форматирования, в котором названия дней, месяцев и разделители разрядов, целой и дробной части заранее предопределены. На рисунке 10-2 отображено представление NLS_SESSION_PARAMETERS которое содержит значения параментов NLS для текущей сессии. По умолчанию значение NLS_CURRENCY – знак доллара, но это можно изменить на уровне сессии. Например, для изменения символа валюты на строку ‘GBP’ можно выполнить запрос

ALTER SESSION SET NLS_CURRENCY=’GBP’

7

Рисунок 10-2 – Представление NLS_SESSION_PARAMETERS

Конвертация числа в строку используя функцию TO_CHAR

Функция TO_CHAR возвращает значение типа VARCHAR2. Когда входных параметром является число то доступны некоторые параметры форматирования. Синтаксис команды TO_CHAR(num, [format], [nls_parameter]). Параметр num обязательный и должен быть числом. Необязательный параметр format можно использовать для указания информации о форматировании, такой как длина, символ валюты, позиция разделителя дробной и целой части и разделитель разрядов (три разряда) и должен быть заключен в одинарные кавычки. Доступны различные опции форматирования и часть из них представлена в таблице 10-4. Рассмотрим два запроса

Query 1: select to_char(00001)||’ is a special number’ from dual;

Query 2: select to_char(00001, ‘0999999’)||’ is a special number’ from dual;

В запросе номер один у числа 00001 убираются ведущие нули, значение преобразуется в строку ‘1’ и возвращается результат ‘1 is a special number’. Зпрос номер два использует маску форматирования ‘0999999’ для числа 00001 преобразуя число в строку ‘0000001’ и возвращая результат ‘0000001 is a special number’. 0 и 6 девяток в маске форматирования указывают функции TO_CHAR что необходимо использовать ведущие нули, и длина строки должна быть 7. Таким образом строка, возвращаемая функцией TO_CHAR содержит семь символов.

8

Tip Конвертация чисел в строки надёжный способ убедиться что функция и SQL запрос в целом, который ожидает символьного значения, не вернёт ошибку когда встретится число. Конвертация чисел в строки часто используется для форматирования значений для отчетов. Маска форматирования поддерживает символ валюты, разделитель порядков и разделитель целой и дробной части, что часто используется при отображении финансовой информации.

Конвертация даты в строку используя функцию TO_CHAR

Вы можете использовать преимущества модели масок форматирования при конвертации ДАТЫ в практически любой вариант отображения даты как символьного значения используя функцию TO_CHAR. Синтаксис функции TO_CHAR(date1, [format], [nls_parameter]).

Только параметр date1 обязательный; тогда он должен быть значением, которое может неявно преобразоваться в строку. Необязательный параметр format регистрозависимый и должен быть обрамлён одинарными кавычками. Маска форматирования указывает какие лементы даты должы быть выбраны и как отображать названия элементов даты: полные названия или аббревиатуры. Названия дней и месяцев автоматически разделяются пробелом. Такое поведение можно изменить, используя параметр маски fill mode (fm). Указав в начале маски параметр fm, вы укажете Oracle о необходимости убрать все пробелы. Доступно много опций для маски форматирования, часть из которых отображена в таблице 10-5. Рассмотрим три запроса

Query 1: select to_char(sysdate)||’ is today»s date’ from dual;

Query 2: select to_char(sysdate,’Month’)||’is a special time’ from dual;

Query 3: select to_char(sysdate,’fmMonth’)||’is a special time’ from dual;

Если текущая системная дата 3 января 2009 года и по умолчанию формат отображения DD/MON/RR тогда запрос один вернёт строку ‘03/JAN/09 is todays date’. Во втором запросе обратите внимание на две детали: во-первых, только месяц выбирается из даты, и во-вторых так как маска форматирования регистрозавсимая и в запросе используется ‘Month’, то запрос вернёт ‘January is a special time’. Нет нужды добавлять пробел в начале литерала, так как функция TO_CHAR автоматически добавит пробел к названию месяца. Если бы маска во втором запросе была ‘MONTH’ то запрос вернул бы ‘JANUARY is a special time’. Параметр fm в третьем запросе препятствует добавлению пробелов и результатом будет ‘Januaryis a special time’. В таблице 10-5 предполагается что обрабатывается дата 2 июня 1975 года и текущий год 2009.

Параметры форматирования, связанные с неделей, кварталом, веком и другими более редко использующимися элементами даты показаны на рисунке 10-7. Столбец результата предполагает, что функция использовалась для работы с датой 24 сентября 1000 года, с маской форматирования указанной в столбец format element.

Компонент время в типе данных дата выбирается, используя модели форматирования в таблице 10-7. Результат рассчитывается функцией TO_CHAR используя дату 27 июня 2010 года время 21:35:13 с маской форматирования указанной в столбце format element.

Некоторые различные элементы, которые можно использовать в форматировании даты и времени перечислены в таблице 10-8. Знаки пунктуации используются для разделения элементов форматирования. Три типа суффиксов существуют для форматирования элементов. Более того, символьные литералы могут быть включены в модель форматирования если они заключены в двойные кавычки. Результаты в таблице 10-8 получены используя функцию TO_CHAR для даты 12 сентября 2008 года 14:31 с маской форматирования указанной в соответствующем столбце.

9

10 alt=»11″ width=»579″ height=»176″ /> 12

Таблица JOB_HISTORY хранит информацию о должностях сотрудника, которые он занимал в компании. Запрос на рисунке 10-3 выбирает информацию из этой таблицы о конце срока действия должности сотрудника для каждого сотрудинка на основании столбцов END_DATE, EMPLOYEE_ID и JOB_ID и форматирует результат в красивое предложение. Символьное выражение объединяется с функцией TO_CHAR в которой используется маска ‘fmDay «the «ddth «of» Month YYYY’. Параметр fm используется чтобы убрать пробелы в имени дня недели и месяца. Два литерата ограниченые двойными кавычками используются для добавления читабельности результату. Литерал “th” применяется к элементу даты чтобы сделать литературно правильным отображение даты как 17 th или 31th. ‘Month’ в маске означает использовать полное имя месяца и наконец YYYY форматирует год как все четыре символа года.

13

Рисунок 10-3 – Запрос в таблицу JOB_HISTORY

select ‘Employee ‘||EMPLOYEE_ID||’ quit as ‘||JOB_ID||’ on ‘||TO_CHAR(END_DATE,’fmDay «the «ddth «of» Month YYYY’) «Quitting Date»

ORDER BY END_DATE;

Несмотря на то что компонент «век» не отображается по умолчанию, он хранится в базе данных и доступен для запроса. Маска форматирования DD-MON-RR используется по умолчанию для ввода значений и отображения. Когда значение добавляется или изменяется если явно неуказан век, то используется век из функции SYSDATE. Формат RR отличается от формата YY и так как RR также использует значение столетия. Влияние значения столетия на формат RR легче понять если рассмотреть следующие принципы

  • Если две последние цифры текущего года между 0 и 49, а в указанном значении даты две последние цифры года между 50 и 99 то используется предыдущий век. Предположим, что текущая дата 2 июня 2007 года. Значение века для даты 24-JUNE-94 года будет 20
  • Если две цифры текущего года между 50-99 и указанной даты также между 55 и 99, то возвращается текущий век. Преположим что текущая дата 2 июня 1975 года. Тогда значение века для 24-JUL-94 будет 20.
  • Если две цифры текущей даты между 50 и 99, а в укащанной дате год между 0 и 49 – то считается следующий век. Предположим, что текущая дата 2 июня 1975 года, тогда для значения 24-JUL-07 значение века будет 21.
Читайте также:  Тригонометрические функции SIN COS в Excel для синуса и косинуса

Конвертация строки в дату используя функцию TO_DATE

Функция TO_DATE возвращает значение типа данных DATE. Строка, конвертируемая в дату может содержать все или часть компонентов, составляющих тип DATE. Когда строка содержащая только часть компонентов даты преобразуется в дату, Oracle использует значение по умолчанию для составления валидного значения типа DATE. Части строки сопоставляются с элементами даты используя маску (или модель) форматирования. Синтаксис функции TO_DATE(string1, [format], [nls_parameter]).

Только параметра string1 обязателен, и eсли маска форматирования не указана, string1 должна быть в формат неявно конвертируемом в дату. Необязательный параметр format используется практически всегда и должен быть заключён в одинарные кавычки. Маска форматирования идентича перечисленным в таблицах 10-5, 10-6, и 10-7. У функции TO_DATE есть модификатор fx, которые используется подобно параметру fm функции TO_CHAR. Параметр fx требует обязательного совпадения строки и маски форматирования. Если строка не совпадает с маской – возвращается ошибка. Рассмотрим несколько примеров

Query 1: select to_date(’25-DEC-2010′) from dual;

Query 2: select to_date(’25-DEC’) from dual;

Query 3: select to_date(’25-DEC’, ‘DD-MON’) from dual;

Query 4: select to_date(’25-DEC-2010 18:03:45′, ‘DD-MON-YYYY HH24:MI:SS’) from dual;

Query 5: select to_date(’25-DEC-10′, ‘fxDD-MON-YYYY’) from dual;

Запрос 1 преобразует строку ’25-DEC-2010’ и строка может быть преобразована в дату используя маску DD-MON-YYYY. Дефис можно заменить на другой разделитель. Так как не было указано никакой информации о времени то используется значение по-умолчанию 00:00:00. Запрос 2 не может неявно преобразовать строку в дату, так как недостаточно информации и возвращается ошибка ORA-01840: input value is not long enough for date format. Указав маску DD-MON для строки ’25-DEC’ в запросе номер три, Oracle может преобразовать значение в дату, но так как год и время не указаны, в значении года будет использоваться значение года функции SYSDATE, а время установлено в полночь. Если текущий год будет 2009, то запрос 3 вернёт дату 25/DEC/09 00:00:00. Запрос 4 преобразует строку с явно указанными всеми компнонентами даты и времени. Запрос 5 использует параметра fx. Так как год в строке указан двумя символами, а требуемый формат предполагает четыре цифры года, то запрос возвращает ошибку ORA-01862: the numeric value does not match the length of the format item.

Конвертация строки в число используя функцию TO_NUMBER

Функция TO_NUMBER возвращает значение типа данных NUMBER. Исходная строка должна быть составлена таким образом, чтобы все несовместимые символы отсутствовали или были указаны в соответствующей маске форматирования. Синтаксис функции TO_NUMBER(string1, [format], [nls_parameter]). Только string1 является обязательным параметром, и если не указан параметр format то значение должно быть таким, чтобы была возможность неявно сконвертировать его в число. Маски форматирования идентичны перечисленным в таблице 10-4. Рассмотрим запросы

Query 1: select to_number(‘$1,000.55’) from dual;

Query 2: select to_number(‘$1,000.55′,’$999,999.99’) from dual;

Запрос один не может неявно преобразовать строку, так как она содержит знак валюты и разделители, которые явно неуказаны в маске, поэтому возвращается ошибка ORA-1722: invalid number. Запрос два находит символ валюты, запятой и точки в маске форматирования и несмотря на то что длина маски больше чем чем исходное значение в строке, возвращается число 1000.55

Функция TO_NUMBER конвертирует значение строки в число. Если вы используете число длиннее чем маска, возвращается ошибка. Если вы конвертируете число используя более длинную маску – возвращается значение исходной длины. Не путайте TO_NUMBER с TO_CHAR. Например TO_NUMBER(‘123.45’,’999.9’) вернёт ошибку, когда TO_CHAR(123.45,’999.9’) вернёт 123.6

Создание и удаление пользовательского числового формата

Создание пользовательского числового формата

Чтобы создать требуемый формат, введите в поле Тип коды числовых форматов.

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

Используйте коды форматов, описывающие способ отображения числа, даты или времени, денежных единиц, процентов или научного представления и текста или интервалов.

Текст и интервалы

Отображение чисел и текста. Для того чтобы в ячейке отображались числа и текст, заключите текстовые знаки в двойные кавычки (" ") или поставьте перед одиночным знаком обратную косую черту (\). Вставьте нужные знаки в соответствующий раздел кодов формата. Например, введите формат 0,00р." Избыток";-0,00р." Дефицит" для отображения положительных сумм в виде "125,74р. Избыток" и отрицательных сумм в виде "-125,74р. Дефицит." Следующие знаки не обязательно заключать в кавычки: $ — + / ( ) : ! & ‘ (апостроф)

Включение раздела для ввода текста. Текстовый раздел, если он включен в числовой формат, всегда является последним разделом. Если требуется отобразить текст, вводимый в ячейку, включите в нужную позицию текстового раздела знак @. Если знак @ в текстовом разделе опущен, вводимый текст не будет отображаться. Если наряду с вводимым текстом требуется всегда отображать конкретные знаки, заключите дополнительный текст в двойные кавычки (" ") — например: "общие поступления для @"

Если текстовый раздел не включен в формат, то форматирование никак не влияет на вводимый текст.

Добавление интервала. Чтобы задать в числовом формате интервал, имеющий ширину знака, включите в код формата соответствующий знак, предваренный знаком подчеркивания (_). Например, если за знаком подчеркивания идет закрывающая скобка (_)), положительные числа будут расположены в одну колонку с отрицательными, заключенными в скобки.

Повторяющиеся знаки. Для заполнения повторяющимся знаком всей ширины ячейки используйте в числовом формате знак (*). Например, для заполнения пунктирами пустой области ячейки справа от числа следует указать 0*-.

Задание числа десятичных разрядов, пробелов, цветов и условий

Десятичные разряды и значащие цифры. Для форматирования дробей и чисел с десятичной запятой необходимо включить в раздел следующие шаблоны. Если дробная часть числа содержит цифр больше, чем формат содержит шаблонов, число округляется так, чтобы количество разрядов соответствовало количеству шаблонов. Если же целая часть числа содержит цифр больше, чем формат содержит шаблонов, отображаются все значащие разряды. Если в целой части числа содержатся только знаки номера (#), то числа, меньшие 1, начинаются с десятичной запятой.

Разделитель разрядов. Чтобы использовать пробел в качестве разделителя тысяч, а также при необходимости представлять число в масштабе тысяч, включите в формат пробелы.

Для отображения Используйте шаблон
12000 в виде 12 000 # ###
12000 в виде 12 #,
12200000 в виде 12,2 0,0 (два пробела)

Цвет. Чтобы установить цвет, введите в раздел формата название одного из следующих восьми цветов в квадратных скобках. Код цвета должен быть первым элементом в разделе.

[Черный] [Синий]
[Голубой] [Зеленый]
[Розовый] [Красный]
[Белый] [Желтый]

Условия. Для определения числовых форматов, используемых только для чисел, отвечающих заданному условию, заключите данное условие в квадратные скобки. Оно должно состоять из оператора сравнения (Оператор сравнения. Знак, используемый в условиях для сравнения двух значений. Имеются следующие операторы: = (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), <> (не равно).) и значения. Например, следующий формат отображает числа меньшие или равные 100 красным шрифтом, а числа больше 100 — синим.

Для того чтобы применить к ячейкам условные форматы — например цветную заливку в зависимости значения ячейки — пользуйтесь командой Условное форматирование из меню Формат.

Валюта, проценты и научное представление

Знаки валют. Для указания одного из перечисленных ниже знаков валют в числовом формате включите режим NUM LOCK и введите с цифровой клавиатуры код ANSI для знака валюты.

Чтобы ввести Не отпуская клавишу ALT, введите
¢ 0162
£ 0163
¥ 0165
0128

Примечание. Пользовательские форматы сохраняются вместе с книгой. Для того чтобы Microsoft Excel всегда использовал заданный знак валюты, измените знак валюты, выбранный на панели управления Язык и стандарты до запуска Microsoft Excel.

Процентные значения. Для отображения чисел в виде процента от 100 включите в числовой формат знак процента (%). Например, такие числа как ,08 будут представлены в виде 8%; число 2,8 будет представлено в виде 280%.

Экспоненциальное представление. Для экспоненциального представления чисел используйте коды форматов «E-», «E+», «e-» и «e+». Если справа от знака экспоненты в формате числа стоит 0 (ноль) или # (знак разряда), число отображается в экспоненциальном формате с автоматическим добавлением знака «E» или «e». Количество нулей или знаков # справа определяет количество цифр в показателе степени числа. «E-» или «e-» обеспечивает отображение знака минус перед отрицательными показателями степени. При выборе «E+» или «e+» перед отрицательными показателями степени отображается знак минус, а перед положительными — плюс.

Значения даты и времени

Дни, месяцы и годы. Если «м» стоит сразу после кода «ч» или «чч», либо непосредственно перед кодом «сс», Microsoft Excel отображает не месяцы, а минуты.

Для отображения Используйте шаблон
Месяцев в виде чисел от 1 до 12 м
Месяцев в виде чисел от 01 до 12 мм
Месяцев в виде Янв — Дек ммм
Месяцев в виде Январь — Декабрь мммм
Месяцев первой буквой месяца ммммм
Дней в виде чисел от 1 до 31 д
Дней в виде чисел от 01 до 31 дд
Дней в виде Вс — Сб ддд
Дней в виде Воскресенье — Суббота дддд
Лет в виде 00-99 гг
Лет в виде 1900-9999 гггг

Часы, минуты и секунды

Для отображения Используйте шаблон
Часов в виде чисел от 0 до 23 H
Часов в виде чисел от 00 до 23 чч
Минут в виде чисел от 0 до 59 м
Минут в виде чисел от 00 до 59 мм
Секунд в виде чисел от 0 до 59 с
Секунд в виде чисел от 00 до 59 сс
Часов в виде 4 AM ч AM/PM
Времени в виде 4:36 PM ч:мм AM/PM
Времени в виде 4:36:03 P ч:мм:сс A/P
Прошедшего времени в часах; например 25:02 [ч]:мм
Прошедшего времени в минутах; например 63:46 [мм]:сс
Прошедшего времени в секундах [сс]
Долей секунд ч:мм:сс.00

AM и PM. Если формат содержит обозначения AM или PM, применяется 12-часовая система, где «AM» или «A» указывает на время суток от полуночи до полудня, а «PM» или «P» указывает на время суток от полудня до полуночи. В противном случае используется 24-часовая система. Коды «м» или «мм» должны стоять непосредственно после кодов «ч» или «чч» или непосредственно перед кодом «сс», в противном случае Microsoft Excel отображает месяц, а не минуты.

Numbers — Использование формата валюты в ячейках таблицы

background image

Использование формата валюты в ячейках таблицы

Используйте формат «Валюта», чтобы отобразить денежные значения.

Для определения формата валюты, согласно которому отображается два
десятичных знака, разделитель тысяч и отрицательные числа со знаком минус,
выберите одну или более ячеек, затем нажмите кнопку «Форматировать как
валюту» на панели форматирования. Используйте кнопки «Уменьшить число
десятичных разрядов» или «Увеличить число разрядов», чтобы изменить
количество отображаемых десятичных знаков.

Кнопка увеличения числа

знаков после запятой

Кнопка уменьшения числа
знаков после запятой

Кнопка формата
валюты

Для большего контроля над форматом валюты используйте Инспектор ячеек.

Как задать формат «Валюта», используя Инспектор ячеек

Выделите ячейку или ячейки.

Выберите «Инспектор» на панели инструментов, затем нажмите кнопку «Инспектор

Выберите «Валюта» во всплывающем меню «Формат ячеек».

Чтобы задать символ валюты, выберите нужный вариант во всплывающем меню

«Символ».
Можно увеличить количество вариантов во всплывающем меню «Параметры»,
выбрав «Numbers» > «Настройки», затем выбрав «Показать полный список валют
в Инспекторе ячеек» на панели «Основные».

Чтобы задать количество отображаемых десятичных знаков, используйте поле

«Десятичные знаки». Если значение в ячейке содержит больше десятичных знаков,
чем задано Вами, то десятичные знаки будут округлены, а не отсечены. Например,
если ячейка отформатирована так, чтобы отобразить два десятичных разряда,
значение 3,456 будет отображено как 3,46, а не 3,45.

Чтобы настроить отображение отрицательных значений, выберите нужный

вариант во всплывающем меню, рядом с полем «Десятичные знаки».

Использование разделителя тысяч регулируется установкой или снятием флажка

Чтобы отобразить символ валюты возле границы ячейки, выберите «Бухгалтерский

3.4. Перевод чисел из формата с фиксированной запятой в формат с плавающей запятой и обратно

В начале рассмотрим алгоритм перевода числа из формата с фикси-рованной запятой в формат с плавающей запятой.

Перевод числа из формата с фиксированной запятой [A]ф в формат с плавающей запятой [A]п.з возможен только в случае выполнения следующего условия:

nm nф,

где nm это длина мантиссы для числа в формате с плавающей запятой, а nф — длина мантиссы для числа в формате с фиксированной запятой.

Условно примем, что длина разрядной сетки, выделенной для изображения мантиссы числа как с плавающей так и с фиксированной запятой, одинаковая и, например, равна 8, т.е. nф = nm = 8. Для представления характеристики числа с плавающей запятой, к примеру, отводится 6 разрядов. Тогда l = 3210. В начале процедуры перевода модуль числа [A]ф, представленного в прямом коде без знакового разряда, переписывается в поле мантиссы [A]п.з. Причем, таким образом, чтобы, независимо от длины мантиссы, изображение модуля числа [A]ф разместилось в самых младших разрядах поля мантиссы. В этом случае исходная характеристика принимается следующей:

r = l + na = 3210 + 810 = 4010.

Это объясняется тем, что при переводе числа из формата с фиксированной запятой в формат с плавающей запятой (только при таком переводе !) показатель степени порядка p может быть только nф.

В процессе перевода проверяется старший разряд мантиссы, если он обнулен, то производится сдвиг изображения мантиссы влево на один разряд и вычитается 1 из значения r. Такая процедура повторяется до тех пор пока в старшем разряде мантиссы не появится 1, или же пока значение r не станет равным l. В этих случаях процедура перевода заканчивается.

Например, в случае перевода [1]ф в [1]п.з получается r = 3310, изображение мантиссы будет 0,12. Если исходное число было отрицательным, то в разряд, отведенный под знак мантиссы записывается 1. В противном случае 0.

Например, переведем 510 = 000001012 в формат с плавающей, nm = 8,

nф = 8, l = 8 = 10002, r = l + nm = 10002 + 10002

Последовательность выполнения процедуры нормализации приведена в таблице 3.3:

Т а б л и ц а 3.3

С.р. Мантисса М.р.\ r2 = l2 + (nm — 1)2

0 0 0 0 0 1 0 1 r = 1000 + 1000

0 0 0 0 1 0 1 0 r = 1000 + 0111

0 0 0 1 0 1 0 0 r = 1000 + 0110

0 0 1 0 1 0 0 0 r = 1000 + 0101

0 1 0 1 0 0 0 0 r = 1000 + 0100

1 0 1 0 0 0 0 0 r = 1000 + 0011

В результате получили число, мантисса которого равна 0,1012 с характерис-тикой r = 10112 = 1110 , т.е. показатель степени порядка равен 00112 = 310.

В случае, когда исходное число является правильной дробью, то дробь записывают в старшие разряды мантиссы и в качестве исходной характеристики принимается r = l. Далее перевод производится аналогично выше описанному.

Например, переведем 0,2510 = 0,012 при условиях таких же, как и в первом примере:

Т а б л и ц а 3.4.

С.р. Мантисса М.р. r2 = l2 — 1

0 1 0 0 0 0 0 0 r = 1000

1 0 0 0 0 0 0 0 r = 1000 — 1 = 0111

Получаем число 0,12, r = 01112 = 710, а показатель степени порядка равен

А теперь приведем принцип перевода числа из формата с плавающей запятой в формат с фиксированной запятой.

Рассмотрим тот же случай, когда nф = nm, а [A]ф — целое число.

Если r < l + nф, то изображение мантиссы сдвигается вправо на один разряд с прибавлением единицы к значению r при каждом шаге сдвига. Сдвиги прекращаются как только станет справедливым равенство

Читайте также:  Складской учет в Excel – программа без макросов и программирования

r = l + nф.

Следовательно, если исходно r = l + nф., то сдвиги не нужны. Если же

r = l + nф, то преобразование невозможно, т.к. будет принципиально ошибочным.

Полученное после необходимых сдвигов (или без них) изображение мантиссы переписывается в разрядную сетку, отведенную под модуль числа [A]ф. Если знак мантиссы был отрицателен: Sm = 1, то представление [A]ф переводится в дополнительный код.

Например, денормализуем число 0.1012 с характеристикой r = 10112 :

Т а б л и ц а 3.5.

С.р. Мантисса М.р. r2 = l2 + (p + 1)2

1 0 1 0 0 0 0 0 r = 1000 + 0011

0 1 0 1 0 0 0 0 r = 1000 + 0100

0 0 1 0 1 0 0 0 r = 1000 + 0101

0 0 0 1 0 1 0 0 r = 1000 + 0110

0 1 0 0 1 0 1 0 r = 1000 + 0111

0 0 0 0 0 1 0 1 r = 1000 + 1000

В общем случае, когда nm > nф, обязательно должно выполняться следующее условие:

r — l nф.

Если это условие не выполняется, то в результате денормализации получим число по величине меньшее исходного, т.е. результат перевода будет ошибочным.

В случае, когда [A]ф правильная дробь и r < l, мы также начинаем сдвигать число вправо, прибавляя к значению к единицу при каждом шаге сдвига до тех пор, пока r станет равным l. Затем, начиная со старшего разряда мантиссы, выделяем столько разрядов, сколько отведено их для представления числа в формате с фиксированной запятой, и считываем их в разрядную сетку, отведенную для представления числа в формате с фиксированной запятой.

Например, денормализуем число 0,12 с характеристикой 01112:

Т а б л и ц а 3.6.

С.р. Мантисса М.р. r2 = l2 + 1

1 0 0 0 0 0 0 0 r = 0111

0 1 0 0 0 0 0 0 r = 0111 + 1 = 1000

Получаем 0.012 и переписываем это число в разрядную сетку, отведенную для представления чисел в формате с фиксированной запятой.

Экспоненциальная запись чисел

Онлайн калькулятор для перевода чисел в экспоненциальный вид и обратно, другим языком для вычисления чисел с буквой E.
На компьютере (в частности в тексте компьютерных программ) экспоненциальную запись записывают в виде MEp (пример 1e-10), где:

M — мантисса,
E (exponent) — буква E в числе, означающая «*10^» («…умножить на десять в степени…»),
p — порядок.
Это необходимо для представлении очень больших и очень малых чисел, а также для унификации их написания.

Многие пользователи калькуляторов столкнулись с вопросом: Что означает буква «E» в цифровом калькуляторе?
Это Экспоненциа́льная за́пись— представление действительных чисел в виде мантиссы и порядка. Удобна для записи очень больших и очень малых чисел.

Например, расшифруем эти числа:
Е — это 10, цифры после Е — показатель степени, в который возводится 10.
0.66E004 = 0,66 * 10^4 = 0.66*10000 = 6600
0.66E-007 = 0.66 * 10^(-7) = 0.66 * 0.0000001 = 0.000000066
0.66E11 = 0.66 * 10^11 = 0.66 * 100000000000 = 66000000000

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

Вычислим числа с буквой «е«:
1e-10 = 0.0000000001 — ноль целых одна десятимиллиардная
6e+17 = -600000000000000000000
Есть число 2.6E3. Что означает буква Е = 2 600 — две тысячи шестьсот
1Е+6 = равен миллиону 1 000 000

Почему неизменяемые значения?

Библиотеки работающие с неизменяемыми значениями более безопасны и предсказуемы. Мутирующие операции и передача по ссылке — причины большей части багов. Выбор неизменяемости значений позволяет избежать их.

С Dinero.js вы можете выполнять вычисления и не беспокоиться о происходящем с изначальным значением. В следующем примере на Vue.js, price не поменяется, когда priceWithTax будет вызван. Если бы значение было изменяемым, оно бы поменялось.

Правило № 7. обратное преобразование числа из дополнительного кода

Целью выполнения расчетно-графической работы является привитие студентам практических навыков использовать различные позиционные системы счисления, применяемые в вычислительных системах, выполнять переводы чисел между системами счисления, арифметические операции; осуществлять кодирование и машинное представление числовой информации.

Методические указания включают теоретический материал, задания для выполнения расчетно-графической работы, примеры выполнения заданий и оформления отчета.

Рассмотрим правила перевода чисел из одной системы счисления в другую систему счисления.

Правило 1. Перевод чисел из системы счисления с основанием q в десятичную систему счисления.

Чтобы перевести число anan-1…a1a0.a-1…a-m(q) из системы счисления с основанием q в десятичную систему счисления необходимо число представить в форме многочлена.. Многочлен представляет собой сумму n + 1 + m слагаемых, где n +1 – количество разрядов в целой части исходного числа, а m — количество разрядов в дробной части исходного числа. Каждое слагаемое многочлена соответствует разряду исходного числа. Слагаемое многочлена представляет собой произведение двух сомножителей. Первый сомножитель — десятичное число равное весу цифры соответствующего разряда исходного числа. Второй сомножитель — это степень, основанием которого является основание системы счисления, а показателем степени — номер разряда:

где N(10) — значение десятичного числа;

a*n, a*n-1, …, a*1, a*0, a*-1, … a*-m — десятичные числа равные весам цифр an, an-1, …, a1, a0, a-1, … a-m(q) соответствующих разрядов c номерами n, n-1, …, 1, 0, -1,…,-m исходного числа;

Правило 2. Перевод целых чисел из десятичной системы счисления в систему счисления с основанием q.

Для этого исходное число необходимо разделить на основание системы счисления q. В результате деления будет получено частное (целое число) и остаток от деления (целое число). На следующем шаге алгоритма необходимо полученное частное также разделить на основание системы счисления. Будет получено также частное и остаток. Деление очередного частного производится до тех пор, пока очередное частное не окажется строго меньше основания системы счисления q. Цифре старшего разряда будет соответствовать частное последнего деления. Цифре следующего разряда — остаток последнего деления. Цифре следующего разряда — остаток предпоследнего деления и т. д., цифре младшего разряда будет соответствовать остаток первого деления.

Правило 3. Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную системы счисления.

Для этого необходимо разбить исходное число на триады (тетрады для шестнадцатеричной системы счисления). Триада (тетрада) представляет собой последовательность трех (четырех) соседних двоичных цифр, взятых из записи исходного числа.

Разбиение исходного числа производится от разделительной точки. Целая часть числа разбивается при движении от разделительной точки влево. Дробная часть числа разбивается при движении от разделительной точки вправо. Крайняя левая группа, если она не укомплектована двоичными цифрами, дополняется нулями: слева. Крайняя правая группа, если она не укомплектована двоичными цифрами, дополняется нулями: справа. Далее необходимо каждой триаде (тетраде) поставить в соответствие цифру восьмеричной (шестнадцатеричной) системы счисления. Запишем число. Порядок цифр восьмеричных (шестнадцатеричных) цифр в записи искомого числа такой же, что и порядок соответствующих триад (тетрад) в записи исходного числа.

Правило 4. Перевод из восьмеричной, шестнадцатеричной систем счисления в двоичную систему счисления.

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

Правило 5. Перевод правильной десятичной дроби из десятичной системы счисления в систему счисления с основанием q.

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

Процесс завершается в трёх случаях:

1. Дробная часть произведения оказывается равной нулю. В этом случае перевод исходного десятичного числа в систему счисления с основанием q точный.

2. Дробная часть произведения оказывается равной одной из дробных частей произведений, найденных ранее. В этом случае искомое число представляет собой периодическую дробь.

3. Задана точность перевода, определяемая количеством разрядов в дробной части числа. В этом случае считается, что все разряды дробной части искомого числа определены, когда количество найденных произведений равно точности перевода.

Запишем исходное число. Записывается ноль целых и ставится разделительная точка. Затем следуют цифры дробных разрядов. Цифре разряда с номером -1 соответствует целая часть первого произведения. Цифре разряда с номером -2 соответствует целая часть второго произведения, и т. д.

При вводе дробных десятичных чисел в ЭВМ перевод в двоичную систему счисления может быть произведен приближенно (случай 2 и 3). В этом случае при выводе числа производится обратный перевод из двоичной системы счисления в десятичную систему счисления. Результат перевода будет меньше исходного числа.

Правило № 6. Преобразование отрицательного десятичного числа в дополнительный код.

Для получения дополнительного кода отрицательного десятичного числа необходимо выполнить следующие действия:

1. Найти абсолютную величину исходного числа.

2. Перевести значение абсолютной величины числа в двоичную систему счисления.

3. Дополнить слева полученное число незначащими нулями до необходимой разрядности. При этом обязательно должен быть добавлен хотя бы один разряд для хранения знака числа.

4. Найти обратный код полученного числа. При этом двоичные нули исходного числа заменяются двоичными единицами, а двоичные единицы — двоичными нулями.

5. К полученному обратному коду прибавляется единица.

Правило № 7. Обратное преобразование числа из дополнительного кода

Для восстановления изображения числа в десятичной системе счисления, представленного в дополнительном коде необходимо выполнить следующие действия:

1. Найти обратный код дополнительного кода числа путем замены двоичных нулей на двоичные единицы, а двоичных единиц на двоичные нули.

2. К полученному двоичному числу необходимо прибавить единицу.

3. Перевести полученное число в десятичную систему счисления

4. Слева к числу приписать знак минус.

Правило № 8 Преобразование десятичного числа в короткий формат.

1. Перевод десятичного числа в двоичную систему счисления.. Перевод осуществляться в соответствии с правилом 2. При этом искомое двоичное число должно содержать 25 значащих разрядов.

Рассмотрим два случая.

1. Если исходное число по абсолютной величине не меньше единице, то количество дробных разрядов (точность перевода) числа можно определить следующим образом:

где n +1 — количество разрядов в целой части числа искомого двоичного числа (n — номер старшего разряда искомого двоичного числа);

m — количество разрядов дробной части искомого двоичного числа.

Искомое двоичное число будем содержать 25 значащих разрядов.

2. Если исходное число по абсолютной величине меньше единицы, то при переводе правильной десятичной дроби необходимо определить номер первого разряда дробной части искомого двоичного числа, в котором будет располагаться двоичная единица. Пусть номер найденного разряда -j. Обозначим через s количество разрядов с двоичными нулями, расположенными между разделительной точкой и разрядом с номером –j, s = j -1. Тогда точность перевода должна быть равна: m = s + 25. Разряды с номерами небольшими, чем –j назовем значащими разрядами числа. Их количество равно 25.

2. Округление числа. Для округления к полученному на первом шаге двоичному числу прибавляется единица, по весу равная единице младшего разряда. Затем младший разряд полученной суммы отбрасывается. В результате будет полученное число, содержащее 24 значащих разрядов.

3. Нормализация числа. Для нормализации числа необходимо перемещать разделит. точку таким образом, чтобы искомое число, полученное в результате перемещения точки, располагалось на полусегменте [1, 2> (x-искомое число, 1x

Первоначально порядок числа принимается равный нулю. Если число оказывается больше или равно двух, то разделительная точка перемещается вправо. При этом значение порядка увеличивается на величину равную количеству разрядов, на которые переместилась точка. Если исходное число меньше 1, то разделительная точка перемещается вправо. При этом значение порядка уменьшается на величину, равную количеству разрядов, на которое переместилась разделительная точка. Полученный порядок числа называется абсолютным порядком числа.

Число, расположенное на полусегменте [1, 2), имеет целую часть равную 1. Поэтому при хранении числа в памяти ЭВМ нет необходимости в хранении целой части числа. Целая часть отбрасывается. В этом случае остается мантисса (дробная часть числа), содержащая 23 значащих разрядов.

4. Определение смещенного порядка числа. Для определения смещенного порядка необходимо к абсолютному порядку, полученному на шаге 3 прибавить 127 (сместить порядок на 127). В результате получим смещенный порядок числа. Полученное десятичное число необходимо перевести в двоичную систему счисления и представить в форме 8-рязрядного двоичного числа без знака. Смещенный порядок — всегда неотрицательное число. Минимальное значение абсолютного порядка равно -127, а максимальное значение равно +128.

5 Запись числа в память. Дробное число в коротком формате представляется в памяти в форме нормализованного числа, занимающего 4 байта. Старший бит нулевого байта (бит с номером 7) является знаковым битом. Если число неотрицательное, то знак числа равен нулю. Если число отрицательное, то знак числа равен единице. Смещенный порядок числа занимает 8 бит (1 байт) и расположен с нулевого по 6-ой бит нулевого байта и в 7-ом бите первого байта. Мантисса числа занимает 23 бита и располагается во первом байте с нулевого по 6-ой бит и полностью занимает второй и третий байты числа.

Правило № 9. Сложение чисел.

При сложении двух чисел в системе счисления с основанием q необходимо записать их столбиком одно над другим так, чтобы соответствующие разряды одного слагаемого располагался под соответствующими разрядами другого слагаемого. Сложение производится поразрядно справа налево, начиная с младших разрядов слагаемых. Рассмотрим сложение в разряде с номером i. Введем обозначения:

— а, b-цифры соответственно первого и второго слагаемых i-го разряда,

-p-признак переноса из смежного младшего разряда. Признак переноса pравен 1, если в i-1 разряде сформирована единица переноса и pравен 0 в противном случае.

Найдем сумму: S=a+b+p; aи b- десятичные числа, которые соответствуют по весу цифрам а, и bсистемы счисления с основанием q.

Сложение производиться в десятичной системе счисления. Возможны два случая:

1. S q. Из Sвычтем основание системы счисления q, сформируем признак переноса в следующий i+1 разряд, равный 1. Разности, полученной в результате вычитания, поставим в соответствии цифру Sсистемы счисления с основанием q.

2. S q.. Сформируем признак переноса pв следующий i+1 разряд, равный 0. Поставим в соответствии десятичному числу Sцифру Sсистемы счисления с основанием q.

Полученная цифра Sявляется цифрой i-го разряда суммы. Аналогично производится сложение в каждом разряде.

Статьи к прочтению:

Урок №13. Сложение обратных кодов

Похожие статьи:

Для того, чтобы вычисть числа в системе счисления с основанием q, необходимо записать одно под другим столбиком, чтобы разряды вычитаемого располагались…

ПРАКТИЧЕСКАЯ РАБОТА №3 Изучение принципов выполнения операций сложения и вычитания в двоичной ССЧ Цель работы: изучить принципы выполнения операций…

Конвертер валют онлайн — инструмент, который позволит вам рассчитать соотношения актуальных курсов денежных средств всего мира на сегодня.

Все переводы курсов конвертер осуществляет на основе стоимости валют по данным ЦБ РФ.

Данные о котировках международных валют обновляются каждую минуту. Наш калькулятор позволит вам быстро и точно сделать перевод курса таких валют, как: российские рубли, украинские гривны, доллары США, евро, белорусские рубли, тенге, тайские баты, юани, чешские кроны, корейские воны.

Конвертер экспоненциальных чисел

Экспоненциальная запись числа часто используется в химии или физике для удобной записи очень больших или очень маленьких чисел. Она обозначается аббревиатурой MEp (мантисса, экспонент, порядок). Например, число -0,235876304000100000 в экспоненциальном формате будет записано, как: -2.358763040001E-1. Этот удобный онлайн-конвертер поможет быстро перевести экспоненциальное число в действительное и обратно.

Числовые значения в таблице заполняются числом (5; 5.16; -3.12), либо математическим выражением (5/7; (1-5)*2.13)

Форматирование ячеек

Если в ячейки рабочего листа планируется вносить числа, отформатированные как текст, то достаточно просто изменить формат ячеек с общего на текстовый. Все значения, внесенные в ячейки текстового формата, представляют собой текстовые значения даже если полностью состоят из цифр. Если же числа уже внесены в ячейки, то простая смена формата уже не поможет, числа останутся числами и в текст преобразованы не будут. Чтобы числовые значения окончательно трансформировались в текст, нужно в каждой ячейке сделать двойной клик левой кнопкой мыши либо нажать клавишу «F2», что в принципе можно сделать, если значений не много. Также для преобразования небольшого количества значений достаточно перед числом поставить знак апострофа.

Как конвертировать разницу времени Excel в десятичное число — Вокруг-Дом — 2021

Excel 2013 работает со значениями времени практически так же, как и любое число, включая возможность вычитать время, чтобы найти разницу во времени.

Читайте также:  Макрос для выделения и удаления пустых строк в Excel

Отображать разницу во времени в часах, минутах и ​​секундах не всегда удобно. Например, если вы обрабатываете большое количество различий во времени как часть эксперимента по тестированию, с этими значениями будет легче работать, если Excel преобразует их в десятичные значения. Десятичное значение по умолчанию основано на 24-часовой единице, однако вы можете изменить ее на 1-часовую, 1-минутную или 1-секундную единицу по мере необходимости.

кредит: Скриншот любезно предоставлен Microsoft.

Откройте пустой лист. Перетащите курсор на ячейки С1, С2 а также C3 выделить их. Нажмите на Главная вкладка и выберите Время от Число меню для отображения времени в часах, минутах и ​​секундах. Для других вариантов формата времени, нажмите на маленький Стрела в нижней части раздела номера ленты и выберите любой желаемый формат времени.

кредит: Скриншот любезно предоставлен Microsoft.

Введите время начала в ячейку С1 и время окончания в клетке С2, В клетке C3, тип = (С2-С1) вычесть время остановки из времени начала.

Разница во времени составляет 4 минуты и 12 секунд. Кредит: Скриншот любезно предоставлен Microsoft.

Нажмите Войти завершить формулу. Excel вычитает время начала из времени окончания.

кредит: Скриншот любезно предоставлен Microsoft.

Тип = (С2-С1) в клетке C4 и нажмите Войти, Нажмите на Главная вкладка и изменить Число меню для Число, Excel преобразует разницу во времени в десятичный формат на основе одного дня. Например, 24 часа будут равны 1,0, а 12 часов — 0,5.

Нажмите на Увеличение десятичного числа значок в разделе «Числа» на ленте «Главная», если десятичная единица слишком мала, чтобы получить точный результат.

кредит: Скриншот любезно предоставлен Microsoft.

Выделить клетки C4 а также C5 и изменить Число меню для Число.

Тип = (С2-С1) * 24 в клетке C5 и нажмите Войти, Умножение разницы во времени на 24 отображает результат в виде десятичной единицы на основе одного часа. Например, 45 минут — 0,75, а два часа — 2,0.

Тип = (С2-С1) 24 60 в клетке C6 и нажмите Войти, Это создает десятичную единицу на основе одной минуты. Кроме того, вы можете умножить значение на 1440.

Чтобы рассчитать десятичное значение на основе одной секунды, используйте = (С2-С1) * 86400.

Разница во времени 2 минуты и 12 секунд. Кредит: Снимок любезно предоставлен Microsoft.

Измените время начала и окончания. Excel автоматически пересчитывает разницу во времени в каждой ячейке, в которую вы ввели формулу.

Как преобразовать число в текст

Другая задача, которая может доставить проблем – объединить строчные и числовые данные в одной строке. Представьте, что у вас есть значение в денежном формате и текст, которые нужно объединить. Обычные функции объединения дадут не тот результат, который нам хотелось бы:

Сцепление текста с числом без форматирования

Сцепление текста с числом без форматирования

Мы видим, что числовое значение отображено не в денежном формате, а в десятичном. Такая ситуация нас не устраивает, ведь в итоговой строке число должно быть в формате с двумя знаками после запятой, разделителем разрядов и знаком валюты. Такое отображение выглядит логичнее, чем целая куча знаков после запятой.

Чтобы отформатировать число и сохранить, как текст, используем функцию ТЕКСТ(Число; Формат). Формат придётся задать вручную. О пользовательских форматах я расскажу в отдельной статье.

Давайте запишем формулу перевода числа в текст с указанными требованиями: =ТЕКСТ(A3;»$# #,00″) . Эту функцию можно «вложить» в формулу объединения и получить корректный результат. Функция ТЕКСТ записывает число в указанном формате и преобразует его в текст.

Преобразование числа в текст Excel

Преобразование числа в текст

Совсем другое дело, теперь число записано так, как нам нужно. Ведь правда, это очень полезная функция?

Преобразование даты в числовой формат

Условие и цель задачи. Пользователь вводит дату в формате ‘dd.mm.yyyy’, которая присваивается строчной переменной s. Необходимо преобразовать строку в запись d, имеющую три числовых поля – day, month, year.

Решение

Алгоритм решения задачи:

Алгоритмы преобразования строчного представления даты в численное могут использоваться в программах, которые выполняют какие-либо вычисления, связанные с датами.

Мы не будем писать сразу наиболее эффективную и короткую программу. Сначала алгоритм решения будет достаточно прозрачным и простым.

Программа на языке Паскаль:

Алгоритм 1. Линейная программа

Введенная пользователем дата находится в строчной переменной s.

Извлечение любого символа из строки производится так же, как получение элемента массива по его индексу. Например, s[1] приведет к извлечению первого символа сроки. Можно даже извлечь срез: s[1..2] извлечет первые два символа. Однако как их преобразовать в число?

Функция ord возвращает порядковый номер переданного ей аргумента. Если ей передать символ, то она вернет его номер в таблице символов. Это будет величина целого типа. Например, символ ‘0’ (ноль) может быть 48-м. Поэтому ord(‘0’) вернет 48. Далее номера цифр идут по порядку друг за другом: ‘1’ – 49, ‘2’ – 50, ‘3’ – 51 и т.д.

Чтобы перевести символьное представление цифры (например, ‘7’) в число (7), достаточно выполнить такое выражение: ord(‘7’) – ord(‘0’). Разница номеров между данными символами как раз составляет семь единиц. Таким образом, мы можем перевести символьное представление цифры в число.

Следующая проблема заключается в том, что числа в дате двузначные (день и месяц) и четырехзначные (год). Мы же получили значение только отдельных цифр. Однако, имея цифры и зная их позицию в числе, нетрудно вычислить само число. Например, если первое число 2 (десятки), а второе 4 (единицы), то получить 24 легко: 2 * 10 + 4. Год wxyz вычисляется по формуле w * 1000 + x * 100 + y * 10 + z.

Кроме того, следует не забыть пропустить точки в строке даты. Это символы под номерами 3 и 6. Они никакого участия в вычислениях принимать не должны.

Алгоритм 2. Использование цикла и массива

Как можно заметить, слишком много раз в предыдущей программе выполняется выражениеord(s[цифра])-ord(‘0’). Подобные действия лучше выполнять в цикле, а результат помещать не в переменные, а массив.

Требуется преобразовать в цикле все символы строки, за исключением 3-го и 6-го (тех, которые являются точкой), и заполнить массив.

Алгоритм 2. Быстрое решение

На самом деле не обязательно использовать массив, цикл и даже лишние переменные. Все делается гораздо проще, однако выражения получаются достаточно длинными и могут быть непонятны для начинающих.

Преобразование чисел в текст в Excel

По умолчанию числа выровнены по правому краю, а текст – по левому. Этот пример научит вас преобразовывать числа в текстовые строки, представленные цифрами.

Преобразуем числа в текст в Excel

  1. Выделите диапазон ячеек A1:A4 и назначьте им формат Текстовый (Text).Преобразуем числа в текст в Excel
  2. Числа, прописанные через апостроф, расцениваются программой, как текст.Преобразуем числа в текст в Excel
  3. Когда вы добавляете текстовую строку к числу и при этом хотите сохранить форматирование этого числа, используйте функцию TEXT (ТЕКСТ).
    • Без применения функции TEXT (ТЕКСТ) результат будет следующим:Преобразуем числа в текст в Excel
    • А с использованием функции TEXT (ТЕКСТ):Преобразуем числа в текст в Excel

Примечание: Код #,## используется для добавления запятой в больших числах. В русской локализации Excel запятую необходимо заменить на пробел.

Еще один пример с применением процентного формата:

Преобразуем числа в текст в Excel

Примечание: Используйте , чтобы отобразить ближайшее целое значение. Используйте 0.0 для отображения числа с одним знаком после запятой. Используйте 0.00 для двух знаков после запятой и т.д. В русской локализации Excel точку необходимо заменить на запятую.

И еще один пример. Форматирование даты.

Преобразуем числа в текст в Excel

Примечание: Используйте меньшее или большее количество символов m (м), d (д) и y (г), чтобы изменить внешний вид даты.

Денежный и финансовый формат

Установка денежного или финансового формата позволяет отображать в ячейке число с указанием денежной единицы. На рис. 18.9 показано отображение чисел с различными денежными единицами. В столбцах В и D приведены денежные форматы, а столбцах С и Е— финансовые.

Рис. 18.9. Финансовый и денежный формат

Для установки отображения российской денежной единицы (р.) достаточно выделить ячейки и нажать кнопку Денежный форматпанели инструментов Форматирование (рис. 18.10).

Рис. 18.10. Установка денежного формата (рубли)

Для установки отображения денежных единиц других государств необходимо выполнить команду Формат/Ячейкиили щелкнуть по выделенной области правой кнопкой мыши и выбрать команду контекстного меню Формат ячеек. Во вкладке Число диалогового окна Формат ячеек (рис. 18.11) в списке Числовые форматы следует выбрать Денежный или Финансовый, а в раскрывающемся списке Обозначение выбрать необходимое обозначение денежной единицы.

Рис. 18.11. Установка денежного и финансового формата во вкладке "Число" диалогового окна "Формат ячеек"

В списке Обозначение можно найти условные обозначения денежных единиц всех государств Европы, некоторых других стран, а также трехбуквенные коды валют почти 200 стран всего мира.

Кроме того, в счетчике Число десятичных разрядов при необходимости можно установить количество десятичных разрядов.

В денежном формате, в отличие от финансового, помимо обозначения денежной единицы в списке Отрицательные числа можно выбрать способ отображения отрицательных чисел. Кроме того, денежный и финансовый формат отличаются способом выравнивания обозначения денежной единицы и знака минус (-) у отрицательных значений (см. рис. 18.9).

Текстовые функции в DAX: FORMAT в Power BI и Power Pivot

Антон БудуевПриветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы разберем одну из часто используемых в Power BI (Power Pivot) и популярных текстовых функций языка DAX — функцию FORMAT (формат).

Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.

Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».

А также, подписывайтесь на наши социальные сети. Потому что именно в них, Вам будут доступны оперативно и каждый день наши актуальные фишки, секреты, наработки, примеры, кейсы, полезные советы, видео и статьи по темам сквозной BI аналитики (Power BI, DAX, Power Pivot, Excel…): Вконтакте, Инстаграм, Фейсбук, YouTube.

DAX функция FORMAT в Power BI и Power Pivot

DAX функция FORMAT () — меняет различные типы данных (числа, дата, время) на текстовый тип данных с возможностью задать нужный формат вывода информации.

Синтаксис: FORMAT (Значение; Формат), где:

  • Значение — значение с типом данных число, дата, время
  • Формат — шаблон формата

Шаблоны формата чисел

Ниже приведены основные и часто используемые шаблоны формата чисел, а также, примеры формул на их основе:

  • «General Number» — выводит число
  • «Currency» — денежный формат. Выводит число, разделяя его на группы разрядов на основании параметров локали ПК
  • «Fixed» — округляет число до 2 знаков после запятой
  • «Standard» — выводит число, разделенное на группы разрядов, округляя его до 2 знаков после запятой
  • «Percent» — умножает число на 100, преобразуя его в проценты (%). После запятой число округляется до 2 знаков
  • «Scientific» — преобразует число в научный вид
  • «Yes/No» — выводит «Да», если число не равно 0 и «Нет», если равно 0
  • «True/False» — выводит «TRUE» (Истина), если число не равно 0 и «FALSE» (Ложь), если равно 0

Шаблоны формата дат

Ниже приведены основные и часто используемые шаблоны формата дат, а также, примеры формул на их основе:

  • «D» — выводит номер дня месяца (без нулей)
  • «DD» — выводит номер дня месяца (с нулём)
  • «DDD» — преобразует исходную дату в день недели (сокращенное название — Пт, Сб, Вс)
  • «DDDD» — преобразует исходную дату в день недели (полное название)
  • «M» — выводит номер месяца в году (без нулей)
  • «MM» — выводит номер месяца в году (c нулём)
  • «MMM» — преобразует исходную дату в месяц (сокращенное название — дек)
  • «MMMM» — преобразует исходную дату в месяц (полное название)
  • «yy» — выводит год в формате 2 цифр

Шаблоны формата времени

Ниже приведены основные и часто используемые шаблоны формата времени, а также, примеры формул на их основе:

  • «H» — преобразует исходное время в часы (без нулей)
  • «HH» — преобразует исходное время в часы (с нулём)
  • «m» — преобразует исходное время в минуты (без нулей)
  • «mm» — преобразует исходное время в минуты (с нулём)
  • «s» — преобразует исходное время в секунды (без нулей)

Совместное использование шаблонов

Выше приведенные шаблоны функции FORMAT можно использовать как одиночно, так и совмещая их так, как это будет удобно Вам в конкретном случае.

Например, совместив сразу несколько шаблонов дат друг с другом и разделив их нужными нам разделителями, мы получим удобный для нас текстовый вывод даты в Power BI:

И, как результат, мы получим следующий вывод даты:

Результат работы DAX функции FORMAT

Или мы можем объединить сразу несколько шаблонов времени друг с другом, также, разделив их нужным разделителем:

И, как результат, в Power BI мы получим следующий вывод времени:

Результат работы DAX функции FORMAT со временем

DAX функция FORMAT и первый параметр

Во всех выше приведенных примерах мы в первый параметр вставляли либо просто значение, либо другую DAX функцию, возвращающую также значение.

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

Итак, в Power BI у меня имеется исходная таблица со столбцом дат:

Исходная таблица

Создадим в Power BI Desktop во вкладке «Моделирование» два вычисляемых столбца в этой таблице по следующим формулам с использованием рассматриваемой нами функции:

Как итог, мы получили таблицу, где вместо одного столбца с простыми датами появились еще 2 дополнительных столбца со значениями годов и месяцев.

Таблица с двумя созданными столбцами на основе функции FORMAT

И, теперь по этим 2 столбцам мы уже можем свободно создавать в DAX формулы с фильтрами по годам или месяцам. Например, при помощи функции FILTER (подробно ознакомиться с функцией FILTER Вы можете в данной статье):

И FILTER нам возвращает таблицу, отфильтрованную по значению 2018 в созданном нами вычисляемом столбце на основе функции FORMAT:

Отфильтрованная таблица по столбцу, созданному при помощи функции FORMAT

На этом, с разбором функции FORMAT в Power BI и Power Pivot, в данной статье все.

Пожалуйста, оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1

[Экспресс-видеокурс] Быстрый старт в языке DAX

Антон БудуевУспехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»

Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.

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

Понравился материал статьи?
Избранные закладкиДобавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D

Что еще посмотреть / почитать?

DAX функции ISFILTERED и ISCROSSFILTERED в Power BI

Как проверить столбец в Power BI (Power Pivot) на наличие фильтров? DAX функции ISFILTERED и ISCROSSFILTERED

Что такое язык DAX

Язык MS DAX для Power BI и Excel (Powerpivot)

DAX функция AVERAGE

Среднее значение в DAX: функции AVERAGE, AVERAGEA и AVERAGEX в Power BI и Power Pivot

Преобразование с помощью макросов Excel

Можно написать собственную функцию, которая произведет конвертацию суммы прописью. Нажмите сочетание ALT+F11 и в открывшемся разработчике Excel VBA вставьте новый модуль.

В него добавьте следующий код.

Теперь эту функцию можно вызвать обычным путем и получить сумму прописью. Она находится в разделе функций Excel «Определенные пользователем».

В качестве аргумента укажите адрес с числом.

Перевод в сумму прописью осуществляется только для целых чисел.

Дробное число требует дополнительной формулы:

Вместо ячейки A7 подставляйте свой адрес. Копейки в таком исполнении будут выводиться в виде числа.

Мы рассмотрели все способы представления суммы прописью в Excel. Выбирайте для себя самый удобный и пользуйтесь с удовольствием!

Ссылка на основную публикацию