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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2010, 22:49   #1
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию В итоге показание должно быть нулевым

Здравствуйте.
Не могу разобраться с десятичными знаками.
Создал пример, где при клике по кнопке значение r451 должно отобразиться как отрицательное значение в TextBox2, а затем суммировав отрицательное значение с r451, значение должно дать нулевое показание в ячейки S1.
Хочу понять, как работать с десятичными знаками…
Вложения
Тип файла: rar deset.rar (12.1 Кб, 15 просмотров)
segail вне форума Ответить с цитированием
Старый 18.08.2010, 00:27   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

исправил
Код:
Range("S1") = Val(TextBox3.Value) + Round([r451], 20)
на
Код:
Range("S1") = Val(TextBox2.Value) + Round([r451], 20)
Цитата:
Хочу понять, как работать с десятичными знаками…
Это правило поможет Вам работать не только с десятичными знаками, но и со строковыми переменными: пишите то, что задумали, и проверяйте правильность написанного
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 18.08.2010, 18:02   #3
segail
Форумчанин
 
Регистрация: 13.06.2009
Сообщений: 691
По умолчанию

Почему в объекте TextBox2 числовой формат экспоненциальный?
Код:
TextBox2 = Val(TextBox3.Value) - Round([r451], 20)
Если количество десятичных знаков в [r451] поставить 30
Код:
Round([r451], 30)
то выдается ошибка, максимальное количество десятичных знаков можно установить 22.
И какую роль может играть количество десятичных знаков. Я ставил 3, 18, 22, разницы при расчете, ни какой нет.
В следующем примере применил другой код с Cells
Код:
Private Sub CommandButton1_Click()
    TextBox2 = Val(TextBox3.Value) - Cells(i + 451, 18).Value
    Range("S1") = Val(TextBox2.Value) + Cells(i + 451, 18).Value
End Sub
В TextBox2 отображается формат экспоненциальный, хотя должно отобразится отрицательное значение ячейки Cells(i + 451, 18)
Вложения
Тип файла: rar deset.rar (12.1 Кб, 8 просмотров)

Последний раз редактировалось segail; 18.08.2010 в 18:46.
segail вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
что должно быть в выходном файле Freedom007 Паскаль, Turbo Pascal, PascalABC.NET 2 16.06.2010 21:02
Ошибка «Incompatible Type», которой, вроде бы, не должно быть. seagull Общие вопросы Delphi 2 29.05.2010 13:19
свойствах показывает 1,50 гб (хотя должно быть 2, 00 гб) MORFIK Компьютерное железо 21 15.06.2009 04:31
строковое выражение числа должно быть переведено в вещественный тип Wi1D Помощь студентам 8 09.02.2009 18:16