Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Получаю дробную часть числа. Почему такой результат? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Получаю дробную часть числа. Почему такой результат? (Формулы/Formulas)
Получаю дробную часть числа. Почему такой результат?
LuxVeritatis Дата: Воскресенье, 28.05.2017, 01:37 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Числа у меня будут положительные с двумя десятичными знаками, поэтому остановился на самом простом варианте в виде
Код
=A1-ЦЕЛОЕ(A1)

Только округлять нужно будет произведение двух чисел и результат потом нужно умножить на 100.
Все работает прекрасно, только с двумя числами получается не то, что ожидаю
A1 = 8,20
A2 = 2875
Код

=(A1*A2-ЦЕЛОЕ(A1*A2))*100

Результат = -3,63798E-10

P.S. Цель у меня следующая. Представить произведение двух чисел например 45,45 * 30 = 1363,5 в виде 13 63 50 в разных ячейках
 
Ответить
СообщениеЧисла у меня будут положительные с двумя десятичными знаками, поэтому остановился на самом простом варианте в виде
Код
=A1-ЦЕЛОЕ(A1)

Только округлять нужно будет произведение двух чисел и результат потом нужно умножить на 100.
Все работает прекрасно, только с двумя числами получается не то, что ожидаю
A1 = 8,20
A2 = 2875
Код

=(A1*A2-ЦЕЛОЕ(A1*A2))*100

Результат = -3,63798E-10

P.S. Цель у меня следующая. Представить произведение двух чисел например 45,45 * 30 = 1363,5 в виде 13 63 50 в разных ячейках

Автор - LuxVeritatis
Дата добавления - 28.05.2017 в 01:37
Pelena Дата: Воскресенье, 28.05.2017, 06:38 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19163
Репутация: 4412 ±
Замечаний: ±

Excel 365 & Mac Excel
Это погрешность вычислений. Поищите по форуму про ТОЧНОСТЬ ВЫЧИСЛЕНИЙ В EXCEL. Лечится с помощью функции ОКРУГЛ()

Дробную часть так ещё можно найти
Код
=ОСТАТ(A1*A2;1)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЭто погрешность вычислений. Поищите по форуму про ТОЧНОСТЬ ВЫЧИСЛЕНИЙ В EXCEL. Лечится с помощью функции ОКРУГЛ()

Дробную часть так ещё можно найти
Код
=ОСТАТ(A1*A2;1)

Автор - Pelena
Дата добавления - 28.05.2017 в 06:38
LuxVeritatis Дата: Воскресенье, 28.05.2017, 12:27 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
ОСТАТ тоже дает погрешность и будет давать не ожидаемый результат. В общем как вы и сказали лечится с помощью ОКРУГЛ(), поэтому произведение двух вещественных чисел нужно округлять до 2-х знаков после запятой, даже не смотря на то, что получается там целое
Код
=(ОКРУГЛ(A1*A2;2)-ЦЕЛОЕ(A1*A2))*100

или
Код
=ОСТАТ(ОКРУГЛ(A1*A2;2);1)*100


Так то всё логично, если вспомнить про погрешность. Просто меня удивило, что произведение двух чисел и целое произведения этих чисел одинаковое. Разница равно 0. Но разница, умноженная на что-то будет очень малое число


Сообщение отредактировал LuxVeritatis - Воскресенье, 28.05.2017, 12:50
 
Ответить
СообщениеОСТАТ тоже дает погрешность и будет давать не ожидаемый результат. В общем как вы и сказали лечится с помощью ОКРУГЛ(), поэтому произведение двух вещественных чисел нужно округлять до 2-х знаков после запятой, даже не смотря на то, что получается там целое
Код
=(ОКРУГЛ(A1*A2;2)-ЦЕЛОЕ(A1*A2))*100

или
Код
=ОСТАТ(ОКРУГЛ(A1*A2;2);1)*100


Так то всё логично, если вспомнить про погрешность. Просто меня удивило, что произведение двух чисел и целое произведения этих чисел одинаковое. Разница равно 0. Но разница, умноженная на что-то будет очень малое число

Автор - LuxVeritatis
Дата добавления - 28.05.2017 в 12:27
Sandor Дата: Воскресенье, 28.05.2017, 12:36 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 65
Репутация: -4 ±
Замечаний: 0% ±

Excel 2010
Pelena Вам правильно сказала
там целых не получается
Ваши вещественные числа, например, 8,2 в двоичном коде могут представлять бесконечную дробь
и комп возьмёт ее в память с большой точностью
потом на какие круглые Вы не умножайте, вытащить мантиссу к нулю уже не удастся
и остаток будет всегда.
 
Ответить
СообщениеPelena Вам правильно сказала
там целых не получается
Ваши вещественные числа, например, 8,2 в двоичном коде могут представлять бесконечную дробь
и комп возьмёт ее в память с большой точностью
потом на какие круглые Вы не умножайте, вытащить мантиссу к нулю уже не удастся
и остаток будет всегда.

Автор - Sandor
Дата добавления - 28.05.2017 в 12:36
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Получаю дробную часть числа. Почему такой результат? (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!