Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Заблокирован

Зафиксировать количество цифр в числе

02.05.2015, 15:16. Показов 1221. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
недавно я столкнуля с такой задачей

мне нужно было чтобы длина цифры не увеличивалась и не уменьшалась

например вот.. 2,999 .. если к ей прибавить один пункт, ну скажем .001
то длина цифры явно изменится, как в этом случае быть ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.05.2015, 15:16
Ответы с готовыми решениями:

Подсчитать количество цифр в числе
подсчитать кол-во цифр в числе,как это сделать? с помощью циклов

Определить количество цифр в натуральном числе
определить кол-во цифр в натуральном числе

Определить количество цифр в натуральном числе
В общем тот же вопрос Дело вот в чём к великому сожалению мне изучающей С++ дали выполнить задание в Visiual Basic в Excele, ну вспомнив...

12
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
02.05.2015, 15:44
Format?

Добавлено через 4 минуты
Visual Basic
1
2
3
4
5
6
7
Sub QWERT()
Dim i, S
    For i = 2.99 To 3.01 Step 0.001
        S = S & vbCrLf & Format(i, "0.000")
    Next i
MsgBox S
End Sub
Добавлено через 1 минуту
то длина цифры явно изменится
С чего это?
1
02.05.2015, 15:51

Не по теме:

Цитата Сообщение от Alex77755 Посмотреть сообщение
С чего это?
Если увеличить размер шрифта, то увеличится ширина и высота цифры :rofl:

0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
02.05.2015, 17:17
то увеличится ширина и высота
но не длина!
0
Заблокирован
02.05.2015, 17:26  [ТС]
Все верно, там у меня вот что происходит,
я допустим ввожу в поля необходимые значения ..
причем все проверяется чтоб небыло лишнего

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
    'Проверка на номер !
    Dim s$
    Select Case KeyAscii
    Case 8: Exit Sub
    Case 44, 46, 225, 254
        KeyAscii = 44
    End Select
    With Text1(Index)
        s = Left$(.Text, .SelStart) & Chr(KeyAscii) & Mid$(.Text, .SelStart + 1)
    End With
    If Not IsNumeric(s) Then KeyAscii = 0
End Sub

затем, если надоть прибавить/убавить через кнопочки скрола
вот ...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
Private Sub VScroll1_Change(Index As Integer)
    Dim d#, dd#, s$
    Static ign As Boolean
    If ign Then Exit Sub
    ign = 1: dd = 1
    d = Text1(Index).Text
    While InStr(1, CStr(d * dd), ",")
        dd = dd * 10
    Wend
    s = d + (VScroll1(Index).Value) / dd
    If Len(s) <> Len(Text1(Index)) Then
        s = d + (VScroll1(Index).Value * 2) / dd
    End If
    If s >= Text1(Index).Tag Then Text1(Index) = s
    VScroll1(Index).Value = 0
    ign = 0
End Sub
Добавлено через 2 минуты
Заметьте что ничего более разумного я пока не придумал ...
Цитата Сообщение от Night Ranger Посмотреть сообщение
If Len(s)
может придумаете ? ....
0
Заблокирован
02.05.2015, 17:31  [ТС]
Картинка вот ..
Миниатюры
Зафиксировать количество цифр в числе  
0
Заблокирован
02.05.2015, 17:34  [ТС]
вот еще ..



Миниатюры
Зафиксировать количество цифр в числе  
0
Заблокирован
03.05.2015, 15:56  [ТС]
Да.. и забыл сказать значения у всех скролов MIN = -1, MAX = 1
тоесть реагирование происходит по этим значениям а сбрасывается в этом-же
событии на ноль, но при этом нужно проигнорировать повторный вызов ..
Visual Basic
1
2
3
    If s >= Text1(Index).Tag Then Text1(Index) = s
    VScroll1(Index).Value = 0
    ign = 0
Добавлено через 1 минуту
Индэксы текстовых полей соответствуют индексам скролов ..

Добавлено через 12 минут
Жаль что ктото из админов сменил название темы ..
теперь точно эта тема затеряется ..

может хотяб вернёте прежнее название, <Дроби и геморой>

Добавлено через 19 часов 26 минут
Всё, сделал как было нужно

Создал функцию возвращающую текст измененной дроби

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Function Summator(ByVal Num1$, ByVal Num2$) As String
    Dim n&, s$, nn&
    Num1 = Replace(Num1, ".", ",")
    n = InStr(1, Num1, ",")
    Summator = Replace(Num1, ",", vbNullString): s = Summator
    Summator = CDbl(Summator) + CDbl(Num2)
    If n Then
        nn = Len(Summator) - (Len(Num1) - n) + 1
        If nn < 1 Then nn = 1
        Summator = Left$(Summator, nn - 1) & "," & Mid$(Summator, nn)
        If Left$(Summator, 1) = "," Then Summator = "0" & Summator
    End If
End Function



Теперь использование гораздо проще ..

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub VScroll1_Change(Index As Integer)
    Dim s$
    Static ign As Boolean
    If ign Then Exit Sub
    ign = 1
    With Text1(Index)
        s = Summator(.Text, -VScroll1(Index).Value)
        If CDbl(s) >= .Tag Then .Text = s
    End With
    VScroll1(Index).Value = 0
    ign = 0
End Sub
0
Заблокирован
03.05.2015, 16:01  [ТС]
Картинка ..

Миниатюры
Зафиксировать количество цифр в числе  
0
Заблокирован
03.05.2015, 16:34  [ТС]
Сама программа выполненна на VB6, но можно было и на VBA сделать
просто в этом разделе больше участников, и я надеялся быстрее получить ответ
в принципе разницы особой нет, функция Summator одинаково хорошо будет работать в обоих средах
если кто заинтересуется скину экзэшник

Всем пока, спасибо за участие
0
 Аватар для Sasha_Smirnov
5562 / 1370 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
04.05.2015, 00:12
Цитата Сообщение от Night Ranger Посмотреть сообщение
просто в этом разделе больше участников
Просто VBA есть у всех. А где берут прочие языки программирования (и почём) — загадка!
0
Заблокирован
04.05.2015, 04:25  [ТС]
Цитата Сообщение от Sasha_Smirnov Посмотреть сообщение
Просто VBA есть у всех.
ну не скажите .. в чистой ОСи её нет, да и нужна она не всегда
хотя я считаю VBA наилучшим инструментом для всего ...

Сама программа это вспомогательный инструмент
В принципе, все считается корректно, иначе я не смог бы встать на сделку

Миниатюры
Зафиксировать количество цифр в числе  
0
Заблокирован
04.05.2015, 05:35  [ТС]
И продолжают закрываться в прибыле, что не может не радовать ..
кроме того закрытие производиться по тейк-профиту (зеленый цвет)

Миниатюры
Зафиксировать количество цифр в числе  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.05.2015, 05:35
Помогаю со студенческими работами здесь

Дано натуральное число n. Определить, сколько парных цифр в числе n. Чему равна сумма нечетных его цифр?
Помогите! Не могу решить сложное задание в Excel Дано натуральное число n. Определить, сколько парных цифр в числе n. Чему равна сумма...

Проверка повторяемости цифр в числе
при генерации числа цифры, составляющие его, повторяются. каким образом можно проверить число на повторяемость цифр? спасибо.

Перевести программу для подсчета количества цифр в числе с C++ на VBA
Здравствуйте! Помогите с переводом программного кода в VBA. Эта программа считает все цифры в числе рекурсивным методом. int...

Ввести трехзначное число. Сколько одинаковых цифр в этом числе?
Помогите пожалуйста. в VBA ничего не понимаю. в экселе еще как то, а в VBA никак. желательно по понятнее. Заранее спасибо.

Посчитать количество цифр только у чисел, состоящих из 5 и менее цифр
Вроде бы программа элементарно, но всё равно проблемы. А именно, программа считает ко-во цифр только у чисел состоящих из 5 и менее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru