質問
私は、次の形式で入力文字列を持っている:12.34
私はこの行を呼び出すときます:
db.AddInParameter(insertMessageDetailCommand, "AttachmentSize", System.Data.SqlDbType.Decimal , Convert.ToDecimal(this.messageEnvelope.EnvelopeInfo.AttachmentSize));
私がいない正しい形式で入力文字列を取得します。サーバーは、私は、小数のために「」区切りで地域設定を持つように展開しています。しかし、他の本番サーバが持っている可能性があり、「」セパレータ。
それは破壊されないように、この関数に12.34、そして十分なそのジェネリックは、あなたがそれで投げるの設定任意の地域に耐えられるように、どのように私はこの文字列値を渡すことができますか?
解決
は、サーバーの設定の違いをelliminateする文字列を解析する際の文化を指定します。あなたは、小数点としてピリオドを使用していますInvariantCulture
を、使用することができます:
Convert.ToDecimal(this.messageEnvelope.EnvelopeInfo.AttachmentSize, CultureInfo.InvariantCulture)
所属していません StackOverflow