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

03.01.2014
5
0
#1
нужен код преобразования сантиметров в дюймы и футы, чтобы результат показывал отдельно футы и дюймы (надо целое число футов и дюймы после конверсии дюмов в футы, например 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?
 
06.01.2014
21
6
#2
Насколько мне известно некоторые типы данных
не поддерживают дробные значения

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

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

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

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

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

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

советую переделать программу так
чтобы изпользуемые значения
были с типом Double
а результат всегда можно округлить
 
06.01.2014
21
6
#3
Если берёшся делать прогу, где используются дробные значения
или как ещё говорят значения с плавающей точкой то
по моему мнению лучше всего подходит 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