Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / интересно - почему ТАК?! / 8 сообщений из 8, страница 1 из 1
15.07.2004, 16:08:13
    #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
15.07.2004, 16:19:04
    #32606441
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
интересно - почему ТАК?!
Граблей нет. Просто есть такое понятие, как погрешность разрядной сетки.
:)
...
Рейтинг: 0 / 0
15.07.2004, 16:26:42
    #32606471
§Oliver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
интересно - почему ТАК?!
авторГраблей нет. Просто есть такое понятие, как погрешность разрядной сетки.
:)

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

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

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

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

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


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