「System.FormatException : 入力文字列が正しくありません」というエラーが表示されます。
TextBox2.Text = objnm.rupees(Convert.ToInt64(Convert.ToDecimal(txtWOrds.Text.Trim())));
Convert.ToDecimal
まず、10 進数 ( ) に変換してから Int64 ( )に変換する必要はありませんConvert.ToIn64
。
次に、txtWOrds.Text
が数値でないか空の場合、この例外が発生します。数値であることを確認してください。
第三に、値が数値の場合、問題が好きな場所よりもobjnm.rupees()
空の場合は入力を確認してstring.IsNullOrEmpty(txtWOrds.Text)
から、 の内容の解析に進みますtextbox
。
またTryParse
、テキストを解析できるかどうかを評価する which を使用する必要があり、true の場合はout
、このメソッドのパラメーターの値を使用できます。
あなたの場合、TextBox
が空の場合、失敗する可能性があります。
また、お金/通貨に関連するもので変換が必要かどうかわからない場合Long
(そこに不一致があるようです。明確にしてください。特定の小数点のセットが必要な場合は、を使用することをお勧めしますdecimal.Round
)
Decimal value = default(decimal);
bool isValid = decimal.TryParse(txtWOrds.Text.Trim(), out value);
if (isValid)
{
//your code using output 'value'
}
削除Convert.Int64
してそのまま使用しますConvert.ToDecimal
(理想的には を使用する必要がありますdecimal.TryParse
)。また、入力テキストボックスに正しいタイプ (10 進数) が含まれていることを確認してください。