• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Из Сантиметров В Дюймы И Футы

  • Автор темы CaptainBob
  • Дата начала
C

CaptainBob

нужен код преобразования сантиметров в дюймы и футы, чтобы результат показывал отдельно футы и дюймы (надо целое число футов и дюймы после конверсии дюмов в футы, например 180 см это 5 футов и 11 дюймов)
есть набросок, но не работает
спасибо
Код:
 Dim Cms As Double
Dim Inches1 As Integer
Dim Inches2 As Integer
Dim Feet As Integer


Cms = CInt(txtCms.Text)



Inches1 = Cms * 0.3937
Feet = Inches1 / 12
Inches2 = Inches1 - Feet * 12

'3. Output-Display appropriate answer
MsgBox("Answer is: " & Feet & " feet, " & Inches2 & " inches.")

Можно ли округлить Feet перед тем как делать следующее действие до целого числа или проблема в input?
 
F

FelixMacintosh

Насколько мне известно некоторые типы данных
не поддерживают дробные значения

Cms = CInt(txtCms.Text) ты пытался конвертировать в числовой тип Integer

хотя у тебя объявлен Double Dim Cms As Double

правильней было бы так
Cms = Cdbl(txtCms.Text)

а если надо округлить то используй следущие функции

Cms = Fix(txtCms.Text)
округление до целой части

то же самое что и Cms = Int(txtCms.Text) только в отрицательных числах до ближайшего нуля

советую переделать программу так
чтобы изпользуемые значения
были с типом Double
а результат всегда можно округлить
 
F

FelixMacintosh

Если берёшся делать прогу, где используются дробные значения
или как ещё говорят значения с плавающей точкой то
по моему мнению лучше всего подходит Double

всё дело в том сколько байт в памяти хранит
определенный тип данных
например у Double 8 байт

быстрее всего работает тип Long лично я использую везде где только можно
у Long 4 байта в памяти (32 бит)
кстате тоже нельзя использовать для дробных
значений


объявить можно
либо так Dim cms as Double
либо так Dim cms# (Dim mylong& для объявления Long)

пример как я делаю функции

Код:
Public Function Result&( x&, y&, z& )
result= x * y * z
End Function

возвращаемый тип Long
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!