powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Неверный вывод цифр при импорте из SQL Server'а
8 сообщений из 33, страница 2 из 2
Неверный вывод цифр при импорте из SQL Server'а
    #38922345
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrVoid@Shocker.Pro
То есть скуль меня намахивает, когда показывает, что он хранит 0,22, а на самом деле - "0,219999998807907"? А Access тогда что делает, что корректно выводит 0,22? собсно, а что я парюсь-то, сразу надо было показать так на TSQL:

Код: sql
1.
2.
3.
declare @n real
select @n=0.22
print convert(nvarchar, @n, 2)


2.199999988079071e-001


еще требуются доказательства?
...
Рейтинг: 0 / 0
Неверный вывод цифр при импорте из SQL Server'а
    #38922364
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@Shocker.Pro
Спасибо за разъяснения! :) Я что-то не догадался написать такой же код для проверки. :)
Какие могут быть предложения, что можно сделать?
1) Сделать хранимку, пихнуть туда всю выборку с конвертациями, а на стороне Экселя просто запросить эту хранимку.
2) Изменить тип данных на decimal (или float(25) - проверял, выгружается корректно 0,22, но неизвестно, что будет с последующими значениями).
3) Изменить тип данных на varchar.
...
Рейтинг: 0 / 0
Неверный вывод цифр при импорте из SQL Server'а
    #38922372
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как формируется рекордсет?
...
Рейтинг: 0 / 0
Неверный вывод цифр при импорте из SQL Server'а
    #38922651
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
короче, 1 - логично, 2,3 - нелогично
...
Рейтинг: 0 / 0
Неверный вывод цифр при импорте из SQL Server'а
    #38922666
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrVoidКакие могут быть предложения, что можно сделать?А зачем что-либо делать, в чем проблема-то?
Если просто "некрасиво" - округляйте, или установите в Excel формат ячеек с 2 или 3 знаками после запятой. Или сделайте столбец поуже. Например, на новом листе со стандартной шириной столбцов число 0,219999998807907 отображается как 0,22. И только если раздвинуть столбец, появляются девятки.
Вы все никак не можете ответить, что это за числа. Если результаты каких-то измерений - Вы должны понимать, что измерения выполняются с конечной точностью. Как правило - 2 или 3, максимум 4 значащие цифры. Весь остальной хвост из цифр - результат арифметических действий, конечная точность представления, и физического смысла не имеет. Поэтому округлить число до реального количества значащих цифр (или на 1 большего) очень даже полезно.
...
Рейтинг: 0 / 0
Неверный вывод цифр при импорте из SQL Server'а
    #38922787
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@Shocker.Pro
Рекордсет формируется с помощью ADO. Просто хотел бы без дополнительных танцев с бубнами, а оно вон как оказалось.
Кстати, провел ещё небольшой тест.
Код: sql
1.
2.
3.
4.
5.
declare @n real = 0.22;
select cast(@n as nvarchar(100)); -- => 0.22  
select convert(nvarchar, @n);     -- => 0.22
select convert(nvarchar, @n, 2)   -- => 2.199999988079071e-001
select convert(nvarchar, @n, 3)   -- => 0.22



Shocker.Proкороче, 1 - логично, 2,3 - нелогично
Почему decimal - нелогично? То есть писать отдельную ХП (которую надо обновлять, если столбец добавится/удалится) - это окей, а обойтись без ХП и иметь Decimal - это плохо? Пруф? :)

@Казанский
Я не спрашиваю, как надо делать костыли и хаки в Экселе. Это я всё прекрасно знаю и так. Вопрос - как обойтись малой кровью. :) И это не замеры.
...
Рейтинг: 0 / 0
Неверный вывод цифр при импорте из SQL Server'а
    #38922818
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MrVoidПочему decimal - нелогично?тут прохлопал, я имел ввиду менять float на float нелогично.
...
Рейтинг: 0 / 0
Неверный вывод цифр при импорте из SQL Server'а
    #38922828
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для инфы - с float(53) всё ОК. :)
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Неверный вывод цифр при импорте из SQL Server'а
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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