Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
renzot
0 / 0 / 0
Регистрация: 23.04.2018
Сообщений: 1
1

Разделение числа на отдельные цифры

26.04.2018, 21:50. Просмотров 810. Ответов 4
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста. Делаю калькулятор для систем счисления,застрял на моменте перевода чисел из 11-16 в 10. Мне нужно разделить полученное число на отдельные цифры(и/или буквы), но это число в 16-ричной системе, а единственный вариант решения не принимает буквы, и перестает считать. Вот кусочек программы, которую мне удалось создать
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub CommandButton36_Click()
Label8 = "16"
i = StrReverse(Val(TextBox16.Text))
a = Mid(i, 1, 1)
b = Mid(i, 2, 1)
c = Mid(i, 3, 1)
d = Mid(i, 4, 1)
e = Mid(i, 5, 1)
f = Mid(i, 6, 1)
g = Mid(i, 7, 1)
h = Mid(i, 8, 1)
i = Mid(i, 9, 1)
j = Mid(i, 10, 1)
z = Val(j)
v = Val(i)
y = Val(h)
k = Val(g)
l = Val(f)
m = Val(e)
n = Val(d)
o = Val(c)
p = Val(b)
q = Val(a)
r = 16
x = (z * r ^ 9) + (v * r ^ 8) + (y * r ^ 7) + (k * r ^ 6) + (l * r ^ 5) + (m * r ^ 4) + (n * r ^ 3) + (o * r ^ 2) + (p * r ^ 1) + (q * r ^ 0)
Label4 = x
End Sub
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2018, 21:50
Ответы с готовыми решениями:

Разделение числа на отдельные цифры
Привет! Я начинающий программист, передо мной стоит задача: например число 653...

Как программно записать цифры даты в отдельные ячейки Excel
Всем доброго времени суток ! Для записи даты в таблицу Excel используется...

Проверить, есть ли в записи числа m цифры, одинаковые с цифрами в записи числа n
Даны два натуральных числа m и n (m < или = 9999, n < или = 9999). Про¬верить,...

Преобразование числа в цифры
Уважаемые форумчане.Столкнулся с проблемой в EXCELe преобразования числа в...

Найти первую и последнюю цифры числа
Здравствуйте, подайте пожалуйста идею как решить такие задания: Задание1: Дано...

4
Pro_grammer
Модератор
6148 / 2229 / 440
Регистрация: 24.04.2011
Сообщений: 3,943
Записей в блоге: 10
27.04.2018, 06:29 2
Жутко выглядит ваш кусочек кода.
Добрый совет - почитайте про циклы For-Next, про массивы. Это здорово помогает.
Если вам просто код нужен, без забивания головы знаниями, то смотрите похожие темы
Как сделать калькулятор для переводаиз одной системы счисления в другую?
2
Остап Бонд
604 / 396 / 194
Регистрация: 17.08.2017
Сообщений: 983
27.04.2018, 06:50 3
Перевод из двоичной системы счисления в десятичную
0
Burk
488 / 364 / 108
Регистрация: 11.07.2014
Сообщений: 1,191
27.04.2018, 08:01 4
Лучший ответ Сообщение было отмечено renzot как решение

Решение

renzot, можно попроще. сейчас строка Osn записана до шестнадцатиричной системы, можно продолжить.
параметр Os от 2 до 16

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Function DesToNewOsn(X As Integer, Os As Integer) As String
'из десятичной в новое основание
'X - десятичное число, Os - новое основание
Dim Osn As String
  Osn = "0123456789ABCDEF"
  If (X < Os) Then
    DesToNewOsn = Mid(Osn, X + 1, 1)
  Else
    DesToNewOsn = DesToNewOsn(X \ Os, Os) & Mid(Osn, (X Mod Os) + 1, 1)
  End If
End Function
 
Sub proba()
MsgBox DesToNewOsn(222, 16)
End Sub
 
Function ToDes(X As String, Os As Integer) As String
'из другого основания в десятичную
'X - число как строка, Os - основание числа Х
Dim Osn As String, I As Integer, S As Long
  Osn = "0123456789ABCDEF": S = 0
  For I = 1 To Len(X)
    S = S + InStr(Osn, Mid(X, I, 1)) - 1
    If I <> Len(X) Then S = S * Os
  Next
  ToDes = S
End Function
 
Sub proba1()
MsgBox ToDes("DE", 16)
End Sub
1
Казанский
14156 / 5854 / 1536
Регистрация: 24.09.2011
Сообщений: 9,201
27.04.2018, 08:44 5
Цитата Сообщение от renzot Посмотреть сообщение
Мне нужно разделить полученное число на отдельные цифры(и/или буквы)
Здесь хорошо порезвились в разделении числа на цифры Вычислить, чему равна сумма цифр числа
0
27.04.2018, 08:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.04.2018, 08:44

Числа, подходящие под две цифры
Дан массив двухзначных чисел А и две цифры d1 и d2 (от 0 до 10). Нужно...

Программа определения последней цифры числа
Всем привет! Возникла такая проблема: не могу составить программу по VBA:...

Проверить, будут ли все цифры числа различными
Нужно написать программу не используя массив. Только цикл


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru