SQL小数问题

时间:2009-11-19 12:35:22

标签: c# sql decimal regional

我有一个输入字符串,格式如下:12.34

当我打电话给这一行时:

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

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

如何将此字符串值:12.34传递给此函数以使其不会中断,并且它的通用性足以承受您抛出的任何区域设置?

1 个答案:

答案 0 :(得分:2)

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

Convert.ToDecimal(this.messageEnvelope.EnvelopeInfo.AttachmentSize, CultureInfo.InvariantCulture)