2009-08-20 26 views
0

私は、負債計算プログラムを開発しています。私の問題は、私が28.04になる負債を返済するために月を計算しなければならないときです。いくつかのplsは私を助けることができます。私はvb.netで値を丸める必要があります

Dim b, SubMtP As Integer 
    Dim outsUm, si 

    outsUm = TextBox1.Text 

    SubMtP = Format(Val(TextBox1.Text)/Val(TextBox2.Text), "0.00") 
    Math.Round(SubMtP + 1) 
    TextBox5.Text = Format(Val(TextBox4.Text)/12, "0.00") 

    For i As Integer = 1 To SubMtP 
+0

あなたは 'Math.Round'を呼び出しますが、戻り値を変数に代入したり、それ以外の場合は使用したりしません。その結果、四捨五入された値は直ちに破棄されます。あなたは実際にそこで何をしようとしていますか? –

答えて

5

使用Math.Ceiling: は

事前

でいただきありがとうございます私のコードは次のようになります。あなたがassingingまたはその他の結果を使用していないので、

1

ライン

Math.Round(SubMtP + 1) 

は、(副作用を持たない)何もしません。

28.04から29になる場合は、おそらくMath.Ceilingが必要です。それはあなたがやろうとしているものを言うのは難しいですが、あなたはおそらく、パベルはコメントで言ったように、あなたは結果を割り当てる必要があり、そしてあなたがCeilingを使用する必要があります

SubMtP = Math.Ceiling(SubMtP); 
2

をしたい:

Dim result As Double = Math.Ceiling(SubMtP) 

ます強くをコード内のどこでもOption Strict Onに切り替えることを強くお勧めします。これにより、上のコードでいくつかのコンパイルエラーが発生し、そのコードをクリーンアップする必要があります。これはです。です。これらのコードフラグメントはコードの潜在的なエラーであり、保守や理解が難しいためです。

+0

+1の 'Option Strict On'だけ+1 –

関連する問題