[解決済み] "文字列 "" から型 'Double' への変換は無効です。" VBでは
2022-02-11 04:42:01
質問
支払額と利息の合計を計算するプログラムを実行しようとすると、「"文字列 " から 'Double' 型への変換は有効ではありません」と表示されます。
何が間違っているのでしょうか?
Dim P As Double
Dim R As Double
Dim N As Double
Dim Payment As Double
Dim totalInterest As Double
Private Sub btnAnalyze_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnalyze.Click
P = CDbl(txtAmount.Text)
N = CDbl(txtDuration.Text)
R = CDbl(txtInterestRate.Text)
Payment = (P * R) / (1 - (1 + R) ^ (-N))
totalInterest = (N * Payment) - P
Payment = CDbl(txtPayment.Text)
totalInterest = CDbl(txtInterest.Text)
If P < 0 Then
MessageBox.Show("Please enter in loan amount")
End If
If R <= 0 Then
MessageBox.Show("Please enter in loan amount")
End If
If N <= 0 Then
MessageBox.Show("Please enter in loan amount")
End If
End Sub
End Class
解決方法は?
あなたの
TextBox
の項目が未入力です。
そのため
CDbl
というように
P = CDbl(txtAmount.Text)
の場合、その
TextBox
が空の場合、このエラーが発生します。
より良い選択肢は
Double.TryParse
の代わりに
CDbl
というメッセージを表示させることができます。
Private Sub btnAnalyze_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnalyze.Click
If Not Double.TryParse(txtAmount.Text, P) Then
MessageBox.Show("Please correct the loan amount")
Exit Sub
End If
' Do the same for all other CDbl checks
関連
-
[解決済み] VB.netの開閉フォーム
-
[解決済み] NUnit TestCaseのパラメータとして二重引用符をエスケープするにはどうすればよいですか?
-
[解決済み] "文字列 "" から型 'Double' への変換は無効です。" VBでは
-
[解決済み] VB.NETにおけるDirectCast()とCType()の違いについて
-
[解決済み] VB.NET: FormClosing()を中止する
-
[解決済み] 文字列 "" を 'Integer' 型に変換するのは無効です。
-
[解決済み] YesNoCancel付きMessageBox - NoとCancelが同じイベントをトリガーする
-
[解決済み] オブジェクト参照がオブジェクトのインスタンスに設定されていない [重複] 。
-
[解決済み] Chr(3)は定数式なのに、Chr(172)は定数式でないのはなぜですか?
-
[解決済み] VB.NET IntelliSense : ENTERオートコンプリートで改行を無効にする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Microsoft Access Database FileのC:㊧Employees.accdbが認識されないのですが?
-
[解決済み] VB.netの開閉フォーム
-
[解決済み] VB.NETで<DllImport>を使用するには?
-
[解決済み] "文字列 "" から型 'Double' への変換は無効です。" VBでは
-
[解決済み] VB.NETにおけるDirectCast()とCType()の違いについて
-
[解決済み] 算術演算でオーバーフローが発生した
-
[解決済み] VB.NETで文字列を比較する
-
[解決済み] オブジェクト参照がオブジェクトのインスタンスに設定されていない [重複] 。
-
[解決済み] VB.NETにおけるクラスとモジュールの比較
-
[解決済み] Linq to Sql: 複数の左外部結合