| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > Как засунуть в Access число типа double |
| Автор: mrHunter 3.8.2008, 15:45 |
| Ну что может быть проще? Казалось бы... Есть число типа double. Надо его сначала записать в БД Access, а потом прочитать. И сделать это так, чтобы прочитанное число из БД было тем же числом, которое мы и записывали, вернее, то которое было в программе... Неужели эту задачу невозможно решить??? |
| Автор: jonie 4.8.2008, 22:49 |
| ну запиши число как текст. кто тебе это мешает сделать? |
| Автор: Akina 4.8.2008, 23:09 |
| Нельзя записАть число в БАЗУ. Это теоретически невозможно. И желание проделать это говорит о некоторой необразованности в этой области. Записывать числа можно в таблицы базы данных. Создайте в БД таблицу, содержащую минимум одно поле типа Double, и записывайте туда нужные данные. А потом читайте. |
| Автор: mrHunter 5.8.2008, 06:55 | ||||
А совет "Создайте в БД таблицу, содержащую минимум одно поле типа Double"... при том что в Access нет такого типа говорит о большой образованности... Добавлено через 4 минуты и 19 секунд
Да пробовал уже... Попробуй число типа double 239.9359237546474 преобразовать в строку... Любое преобразование в строку "режет" число... Данное число (для примера) урезается на 1 цифру при преобразовании к строке, т.е. получаем "239.935923754647" (всего 15 цифр). И что бы я ни пробовал, всегда в преобразуемой строке получается не больше 15 цифр... |
| Автор: Bishop 5.8.2008, 11:52 | ||
| mrHunter, уже имеем 4 (четыре) ваших темы с одним и тем же вопросом:
Во второй (по списку) теме мною вам был дан исчерпывающий ответ. Цитирую: «Учите мат. часть». Там же я рекомендовал вам внимательнее прочитать http://msdn.microsoft.com/en-us/library/system.double.aspx. Вы этого, очевидно, не сделали. Спрашивается, вы программируете или колдуете? Ладно, попробую пояснить доходчивее, на пальцах (кто, если не я?). Читаем в документации:
Т.е. точность типа double — 15 значащих цифр. В вашем числе (239.9359237546474) — 16 значащих цифр. 16 больше 15, факт, следовательно ваше число округляется до 15 цифр. Что тут неясно? Также в приведенном отрывке можно прочесть, что внутренния точность типа достигает 17 цифр, что можно наблюдать в отладчике, и, по-видимому, это вводит вас в заблуждение. Просто поверьте, что та внутренняя точность, она совсем не точная и используется для служебных, так сказать, целей. Картинка по теме: http://ipicture.ru/ Итак, главное что вы должны понять (или поверить) — точность не теряется. Точка. Не беспокойтесь по этому поводу. Если для ваших задач недостаточно точности типа double, используйте тип decimal. |
| Автор: jonie 5.8.2008, 18:09 | ||
|