Деление
|
|
Serg | Дата: Понедельник, 16 Февраля 2009, 00:35 | Сообщение # 1 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Рябят помогите.Мне нужно чтобы при нажатии на кнопку "Ответ" одно число делилося на другое, b$ делилася на a$ Добавлено (16 Февраль 2009, 00:34) --------------------------------------------- Забыл файл Добавлено (16 Февраль 2009, 00:35) --------------------------------------------- Что то не добавляется
|
|
| |
DEMBEL | Дата: Понедельник, 16 Февраля 2009, 00:46 | Сообщение # 2 |
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
| оператор деления это /, например x=b/a для вывода значения числовой переменной x в текстовое поле используй команду DisplayValue
Win7x64 SP1 Neobook v5.70 (Trial) WinXP SP3 Neobook v5.62
|
|
| |
toizy | Дата: Понедельник, 16 Февраля 2009, 12:01 | Сообщение # 3 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (adamfromvyazniki) Что то не добавляется Надписи в нижней части страницы читай ВНИМАТЕЛЬНО Quote (adamfromvyazniki) число делилося на другое, b$ делилася на a$ b$ на a$ не делится, делится b на a, учите матчасть. Строковые переменные (т.е. те, которые удостоены постфикса $) не могут подчиняться арифметическим операциям. Сперва их нужно перевести в числовое представление при помощи команды VAL (читай справку) Т.е. в твоём случае ход скриптоложества будет приблизительно таким: Code a$ = '4' b$ = '8' a = VAL(a$) b = VAL(b$) c = b / a DisplayValue("Text1","c") ...гоу эхед..
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Понедельник, 16 Февраля 2009, 14:51 | Сообщение # 4 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| a$ ='EditBoxN' b$ = 'EditBox1N' a = VAL(a$) b = VAL(b$) c = b / a DisplayValue("EditBox3","c") почему у меня в ответе пишется 0?
|
|
| |
toizy | Дата: Понедельник, 16 Февраля 2009, 15:22 | Сообщение # 5 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Потому что Quote a$ ='EditBoxN' b$ = 'EditBox1N' Думай головой. Твой код должен выглядеть так Code b = VAL(b$) c = EditBoxN / EditBox1N DisplayValue("Text1","c")
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Понедельник, 16 Февраля 2009, 15:53 | Сообщение # 6 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| А как округлить полученное число скажем до сотых?
|
|
| |
toizy | Дата: Понедельник, 16 Февраля 2009, 15:55 | Сообщение # 7 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| При помощи INT. Только эта операция отбрасывает дробную часть. Чтобы сделать именно округление, следует немного извратиться. Подожди-ка...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Понедельник, 16 Февраля 2009, 16:04 | Сообщение # 8 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Жду жду
|
|
| |
Alex3A | Дата: Понедельник, 16 Февраля 2009, 16:10 | Сообщение # 9 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (adamfromvyazniki) А как округлить полученное число скажем до сотых? Найти положение разделителя целой и дробной частей (. или , ) , в текстовом представлении числа, и обрезать все ненужные разряды. 123.33445533 точка 4 + нужное количество знаков после точки, к примеру 2, 123.33 | 445533 или помножить число на 10,100... в зависимости от нужного кол. разрядов сделать инт и поделить на то что множили.
Сообщение отредактировал Alex3A - Понедельник, 16 Февраля 2009, 16:12 |
|
| |
Serg | Дата: Понедельник, 16 Февраля 2009, 16:16 | Сообщение # 10 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| а как сделать этот как бы шаблон числа "***.***"?
|
|
| |
Alex3A | Дата: Понедельник, 16 Февраля 2009, 16:25 | Сообщение # 11 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (adamfromvyazniki) а как сделать этот как бы шаблон числа "***.***"? А сам придумай скрипт под это, это не сложно, няпряги мало мало серое вещество. Потом будеш раздавать всем страждущим.
|
|
| |
toizy | Дата: Понедельник, 16 Февраля 2009, 19:46 | Сообщение # 12 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Чёрт, я забыл... простите (( Да, Алекс, я делал пример именно с умножением. К примеру: Code i = 1.234 i = i * 100 i = INT(i) i = i / 100 но это только усечёт число, а не сделает округление. чтобы получить именно округлённый результат, нужно ещё анализировать первый усечённый разряд. Это несложно, можешь сам додумать Не сможешь, напишешь... Добавлено (16 Февраль 2009, 19:46) --------------------------------------------- Короче, здесь два пути. Первый - чисто арифметический. Второй - символьный т.е. работать со строкой надо, а не числом
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Вторник, 17 Февраля 2009, 15:51 | Сообщение # 13 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| toizy,т.е. просто будет 3 цифры после запятой?Мне можно и это,необязательно округлять
|
|
| |
toizy | Дата: Вторник, 17 Февраля 2009, 18:51 | Сообщение # 14 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| в примере - 2, умножай на 1000 и будет 3. ты попробуй, попробуй. потом напишешь о результатах
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Rush | Дата: Среда, 18 Февраля 2009, 21:17 | Сообщение # 15 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Немного дополненный скрипт toizy, округляющий число: Code ** округляемое число n=1456.84287557 ** к-во знаков после запятой r=4 ** формула округления If (n<0) Then n=INT(n*(10^r)-0.5)/10^r Else n=INT(n*(10^r)+0.5)/10^r End
|
|
| |
toizy | Дата: Среда, 18 Февраля 2009, 21:30 | Сообщение # 16 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Rush - монстр вычислений в ММВ Добавлено (18 Февраль 2009, 21:30) --------------------------------------------- Да уж, немного дополненный
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Rush | Дата: Среда, 18 Февраля 2009, 22:53 | Сообщение # 17 |
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
| Quote (toizy) Да уж, немного дополненный Совсем чуть-чуть. Просто записан по другому. В твоем варианте это было бы так: i = 1.234 i = i * 100+ 0.5 i = INT(i) i = i / 100 Ну или минус 0.5, конечно, в зависимости от положительности/отрицательности числа...
Сообщение отредактировал Rush - Среда, 18 Февраля 2009, 22:56 |
|
| |