0

我有以下格式的输入字符串:12.34

当我调用此行时:

db.AddInParameter(insertMessageDetailCommand, "AttachmentSize", System.Data.SqlDbType.Decimal  , Convert.ToDecimal(this.messageEnvelope.EnvelopeInfo.AttachmentSize));

我得到一个格式不正确的输入字符串。我正在部署的服务器具有带“,”分隔符的小数点区域设置。但其他生产服务器可能有“。” 分隔符。

我怎样才能将这个字符串值 : 12.34 传递给这个函数,这样它就不会中断,并且它的通用性足以承受你扔给它的任何区域设置?

4

1 回答 1

2

在解析字符串时指定一种文化以消除服务器设置中的差异。您可以使用InvariantCulture,它使用句点作为小数分隔符:

Convert.ToDecimal(this.messageEnvelope.EnvelopeInfo.AttachmentSize, CultureInfo.InvariantCulture)
于 2009-11-19T12:39:34.900 回答