powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / интересно - почему ТАК?!
8 сообщений из 8, страница 1 из 1
интересно - почему ТАК?!
    #32606408
§Oliver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. select cast(cast(878.87000001*100.00 as numeric(15,2)) as integer)/100.00
from rdb$database
результат - 878,87
2. select cast(cast(2878.87000001*100.00 as numeric(15,2)) as integer)/100.00
from rdb$database
результат - 2878,8699999999999

а хотелось бы получить 878,87

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

..может кто обьяснит где "грабли"?!
...
Рейтинг: 0 / 0
интересно - почему ТАК?!
    #32606441
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Граблей нет. Просто есть такое понятие, как погрешность разрядной сетки.
:)
...
Рейтинг: 0 / 0
интересно - почему ТАК?!
    #32606471
§Oliver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторГраблей нет. Просто есть такое понятие, как погрешность разрядной сетки.
:)

..понял...но все-таки я из
select cast(cast(2878.87000001*???? as numeric(15,2)) as integer)/????
from rdb$database

хочу ПОЛУЧИТЬ 878,87

это реально!!!!!!!!
...
Рейтинг: 0 / 0
интересно - почему ТАК?!
    #32606483
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ты реально это и получил !!!
С учетом погрешности р.с.
А вот как ты это видишь - другой вопрос...
:)
...
Рейтинг: 0 / 0
интересно - почему ТАК?!
    #32606670
§Oliver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА вот как ты это видишь - другой вопрос...

..если можно - то с этого места поподробнее..все таки так хочется увидеть 2878,87 а не 2878,8699999999999
Это реально????
...
Рейтинг: 0 / 0
интересно - почему ТАК?!
    #32606690
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реально. Если сам показываешь...

...
Рейтинг: 0 / 0
интересно - почему ТАК?!
    #32607315
d'Evil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто вступает в действие механизм хранения дробных чисел. Там есть дробная часть и ехпонента. Дробная часть кажется <10 и >=0,1. А что это - тысячи или миллионы показывает експонента 10 в степени x. У тебя во втором числе в челой части на 1 знак больше - значит дробная часть вещественного числа потеряет один знак точности (отбрасыванием не умещающихся частей). Короче, тебе просто неповезло. Можешь попробовать это на инженерном калькуляторе. Возводи число в квадрат, пока експонента не будет хотя бы больше 10, а затем начни извлекать квадратный корень - исходного числа (основания степени) ты не получишь.
...
Рейтинг: 0 / 0
интересно - почему ТАК?!
    #32609754
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Округли и не парься...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / интересно - почему ТАК?!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]