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

Автор McAaron, 21 февраля 2024, 15:12

0 Пользователи и 1 гость просматривают эту тему.

McAaron

При вводе, импорте и округлении обрезаются правые нули в дробных числах, например, при вводе 123,500 в ячейке остается 123,5 и число сдвигается на два разряда вправо.
Это же присходит при импорте и при округлении. Например, в процессе вычислений получается 123.456789. Достаточно три знака после запятой, поэтому я использую ROUND(Num; 3). Все нормально работает, если значащих цифр после запятой больше двух. Однако, как только в дробной части появляются нули, число обрезается справа, например, 123.400000 округляется не до 123.400, как указано в функции ROUND, а до 123.4. В результате близкие по значению числа выглядят отличающимися на несколько порядков.
Вопрос -- как добиться сохранения правых нулей после запятой или нормального выравнивания?

P.S.
И вдогонку второй -- как напечатать текст моноширинным шрифтом?



bigor

Поддержать наш форум можно здесь

McAaron

По умолчанию из коробки числовой (Standard).
Я про формат ячеек знаю, нужен формат, когда то, что ввел/импортировал/сбросил_из_клипборда, то и увидел -- заранее не всегда можно угадать с форматом ячейки.

Ну и вывод ROUND(N; p), хотелось бы, чтобы он соответствовал указанной в ней точности p при любом формате числовой ячейки.

economist

Ващет 123.400 - нет такого числа. Формат яч. не изменит число, а даст иллюзию -  строку 123.400

Но в ячейке как был 123.4 так и останется
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

Цитата: McAaron от 21 февраля 2024, 17:31нужен формат, когда то, что ввел/импортировал/сбросил_из_клипборда, то и увидел
Этот формат называется текстовый.
С уважением,
Михаил Каганский

McAaron

Цитата: mikekaganski от 21 февраля 2024, 17:36
Цитата: McAaron от 21 февраля 2024, 17:31нужен формат, когда то, что ввел/импортировал/сбросил_из_клипборда, то и увидел
Этот формат называется текстовый.
К сожалению, в этом формате не работает арифметика.

Цитата: economist от 21 февраля 2024, 17:32Ващет 123.400 - нет такого числа. Формат яч. не изменит число, а даст иллюзию -  строку 123.400

Но в ячейке как был 123.4 так и останется
Речь идет о том, что числа должны выравниваться по десятичной точке вне зависимости от того, сколько там знаков после запятой должно выводиться и какой формат для чисел используется. Добивается или нет дробная часть вправо нулями до точности, это вторично.
Тем более, это напрямую касается функции ROUND(N; p). Поскольку сама ячейка выполняет округление с точностью, указанной в формате, то разумно полагать, что ROUND(N; p) вне зависимости от формата будет всегда оставлять p знаков, иначе зачем она нужна.
Числа должны всегда выравниваться по десятичной точке, иначе колонки выглядят неряшливо, а визуальное сравнение значений невозможно.

economist

Округление с ROUND лишнее, просто задайте Формат ячеек (разрядов после запятой), на расчеты это не повлияет, а разряды - выровняет
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

mikekaganski

Цитата: McAaron от 21 февраля 2024, 18:03Поскольку сама ячейка выполняет округление с точностью, указанной в формате, то разумно полагать, что ROUND(N; p) вне зависимости от формата будет всегда оставлять p знаков, иначе зачем она нужна.

Нет, это полагать неразумно. Любая функция, возвращающая число, возвращает именно число, а никакие не "знаки". А "зачем она нужна" - для противоположного форматированию. Если Вы хотите, чтобы число в ячейке выглядело как Вам надо, но при этом сохраняло своё истинное значение (и именно оно дальше в формулах использовалось) - Вы используете форматирование. А если Вы хотите изменить само значение (либо как окончательное число в ячейке, либо как промежуточный результат в формуле) - Вы используете функцию. И вообще, казалось бы, кто мог ожидать увидеть на форуме вопрос "зачем нужно округлять при вычислениях"?

А формат с выравниванием по десятичному разделитель стоит искать в справке. Там есть специальный символ '?', который вставляет вместо нуля пробел. Ну и пока, до выхода версии 24.8, где этот пробел будет "фигурный" (по средней ширине цифры в шрифте), ячейки с этим числовым форматом надо форматировать моноширинным шрифтом.

Цитата: McAaron от 21 февраля 2024, 15:12как напечатать текст моноширинным шрифтом?

Назначить такой шрифт ячейкам?
С уважением,
Михаил Каганский