2017-05-18 16 views
-1

Visual Basicに問題があります。私は単純な変換プログラムを作ろうとしていましたが、プログラムは私に間違った答えを与え続けます。また、Javaでこれをコーディングして、私が期待していた答えを私に与えました。私はここで何が起こっているのか分かりません。ここにコードのサンプルがあります。私が入力した数字は、変換するエイリアン年齢は10、エイリアン長さは440、エイリアン長さは25.5です。それは約12に出てくるはずですが、私は218を何とか得続けます。
Visual Basicの計算での問題

Dim alienYears As Decimal = CDec(txtYearsToConvert.Text) 
     Dim alienYearLength As Decimal = CDec(txtDaysOnAlienPlanet.Text) 
     Dim alienDayLength As Decimal = CDec(txtDaysOnAlienPlanet.Text) 
     Dim alienHoursYears As Decimal = ((alienYears * alienYearLength) * alienDayLength) 
     Dim earthHourYears As Decimal = (8851.25) 
     Dim earthConversion As Decimal = (alienHoursYears/earthHourYears) 
     txtAgeOnEarth.Text = CStr(earthConversion) 
+2

(a)のVBAで(それがある場合は、あなたのタグを更新、または私たちが本当にあれば教えてください、あなたは宣言文の一部として変数に値を代入することはできませんので、これはおそらくVB.Netですコンパイルエラーを回避する方法を示すことができるように、VBAです)。 'alienYearLength'は' alienYearLength'と 'alienDayLength'を同じ値に設定しようとしています。 – YowE3K

+0

@ YowE3K実際には彼は変種「Dim alienYears As Variant:alienYears = CDec( "25.5")」でそれを行うことができますが、あなたが述べたように宣言している間は直接行うことはできません。 – Tehscript

+0

@ YowE3Kはい私のコメントを掲示して彼の使い方に気付いた – Tehscript

答えて

1

ありがとう(VVVV)、あなたはtxtYears(何かを)意味ですかここにタイプミスのように見えますか?これは、同じテキストボックスからの入力を使用して意味をなすことができる方法はありません。

Dim alienYears As Decimal = CDec(txtYearsToConvert.Text) 
'           VVVV 
    Dim alienYearLength As Decimal = CDec(txtDaysOnAlienPlanet.Text) 
    Dim alienDayLength As Decimal = CDec(txtDaysOnAlienPlanet.Text) 
    Dim alienHoursYears As Decimal = ((alienYears * alienYearLength) * alienDayLength) 
    Dim earthHourYears As Decimal = (8851.25) 
    Dim earthConversion As Decimal = (alienHoursYears/earthHourYears) 
    txtAgeOnEarth.Text = CStr(earthConversion) 
+0

私はタイピングがalienDayLengthの次の行にあると確信しています。CDec(txtHoursOnAlienPlanet.Text) –

関連する問題