1

「System.FormatException : 入力文字列が正しくありません」というエラーが表示されます。

TextBox2.Text = objnm.rupees(Convert.ToInt64(Convert.ToDecimal(txtWOrds.Text.Trim())));
4

4 に答える 4

1

Convert.ToDecimalまず、10 進数 ( ) に変換してから Int64 ( )に変換する必要はありませんConvert.ToIn64

次に、txtWOrds.Textが数値でないか空の場合、この例外が発生します。数値であることを確認してください。

第三に、値が数値の場合、問題が好きな場所よりもobjnm.rupees()

于 2012-05-22T06:47:42.913 に答える
1

空の場合は入力を確認してstring.IsNullOrEmpty(txtWOrds.Text)から、 の内容の解析に進みますtextbox

またTryParse、テキストを解析できるかどうかを評価する which を使用する必要があり、true の場合はout、このメソッドのパラメーターの値を使用できます。

あなたの場合、TextBoxが空の場合、失敗する可能性があります。

また、お金/通貨に関連するもので変換が必要かどうかわからない場合Long(そこに不一致があるようです。明確にしてください。特定の小数点のセットが必要な場合は、を使用することをお勧めしますdecimal.Round)

于 2012-05-22T06:51:51.133 に答える
0
  Decimal value = default(decimal);
  bool isValid = decimal.TryParse(txtWOrds.Text.Trim(), out value);
  if (isValid)
  {
        //your code using output 'value'             
  }
于 2012-05-22T06:59:13.227 に答える
0

削除Convert.Int64してそのまま使用しますConvert.ToDecimal(理想的には を使用する必要がありますdecimal.TryParse)。また、入力テキストボックスに正しいタイプ (10 進数) が含まれていることを確認してください。

于 2012-05-22T06:50:59.217 に答える