Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2010, 12:54   #1
avermedia
Новичок
Джуниор
 
Регистрация: 18.04.2010
Сообщений: 3
По умолчанию Странность в Exel

Привет всем.
Столкнулся с таким фактом.
Мне нужно написать в экселе число 4177795290184492
ну а он почему то сохраняет вместо двойки-ноль

За какие ниточки надо потянуть,что нажать,куда пнуть?
avermedia вне форума Ответить с цитированием
Старый 18.04.2010, 15:40   #2
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Максимальное целое 32-х битное число (Long) это 2 147 483 647.
Всё что больше представляется в формате с плавающей точкой.
Посмотрите Wikipedia:Числа с плавающей точкой. Обратите внимание на понятие машинный эпсилон.
Если реально нужно работать в EXCEL с сверхдлинными целыми числами - придётся хранить их как строки и использовать какую то библиотеку, поддерживающую арифметику произвольной точности (VPA) или написать такую библиотеку самому.
Я добавил к этому посту библиотеку LONGARITHM, созданную моим товарищем Борисом Файфелем
Ещё можно попробовать воспользоваться 64 битной версией EXCEL.
Там поддерживается тип данных LONGLONG - 8 байтовое целое число.
Кстати, c длинными (до 20 знаков) числами успешно оперирует стандартный калькулятор Windows (начиная с Win95)
Вложения
Тип файла: zip arithm.zip (37.2 Кб, 10 просмотров)

Последний раз редактировалось Aent; 18.04.2010 в 17:16.
Aent вне форума Ответить с цитированием
Старый 19.04.2010, 04:41   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Если реально нужно работать в EXCEL с сверхдлинными целыми числами - придётся хранить их как строки и использовать какую то библиотеку, поддерживающую арифметику произвольной точности (VPA) или написать такую библиотеку самому.
В подобных случаях я сохраняю число в текстовом формате. А все вычисления произвожу либо с помощью пользовательских функций, либо макросом. В обоих случаях текст перевожу в формат "Decimal", делаю вычисления, затем вновь преобразовываю в текст.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 19.04.2010, 12:53   #4
avermedia
Новичок
Джуниор
 
Регистрация: 18.04.2010
Сообщений: 3
По умолчанию

Повторюсь ещё раз.
Мне не нужно делать каких либо вычислений,чего либо ещё
Я просто заполняю табличку и всё.
И вот в одну из ячеек я должен вписать число 4177795290184492
Exel же позволяет мне вписать 15знаков,а 16м он ставит ноль!
Что нужно сделать,чтоб снять это экселевское ограничение?
avermedia вне форума Ответить с цитированием
Старый 19.04.2010, 13:00   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

отмечаете колонку или ячеки с этими данными, правая кнопка, формат ячейки, закладка число, текстовый, ОК.
повторно вводите ваши значения
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.04.2010, 13:36   #6
avermedia
Новичок
Джуниор
 
Регистрация: 18.04.2010
Сообщений: 3
По умолчанию

Всё! Спасибо за конкретику!
Что и нужно было.
avermedia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странность с пользовательской функцией motorway Microsoft Office Excel 10 24.02.2010 01:36
Странность в условии k1r1ch Общие вопросы Delphi 18 03.11.2009 12:43
Странность POST-запроса Voody Работа с сетью в Delphi 4 21.07.2009 20:39
String - странность или кривые руки elsin Общие вопросы Delphi 12 29.01.2009 02:17
EXEL Artomes Microsoft Office Excel 0 02.11.2008 23:18