值为零时如何传递十进制类型的绑定变量(参数)?

How to pass bind variable (parameter) of decimal type when value is zero?

我在 Oracle.ManagedDataAccess 提供程序中使用绑定变量。我要绑定的 table 列被简单地定义为 "number"。当名为 AMOUNT 的变量非零时,下面的代码行工作正常。但是当 AMOUNT 为 0 时,出现以下错误。我搜索了网络(和 SO)但没有找到任何帮助。我做错了什么?

cmd.Parameters.Add("TIME_AMOUNT", OracleDbType.Decimal, AMOUNT.ToString("#.##"), ParameterDirection.Input);

Message=One of the identified items was in an invalid format.
Source=Oracle.ManagedDataAccess StackTrace: at Oracle.ManagedDataAccess.Types.OracleDecimal..ctor(String numStr) at OracleInternal.ServiceObjects.OracleParameterImpl.SetDecimalDataInBytes(Object paramValue, Byte[]& decimalByteArray) at OracleInternal.ServiceObjects.OracleParameterImpl.SetDecimalDataInBytes(Object paramValue) at Oracle.ManagedDataAccess.Client.OracleParameter.PreBind_Decimal()

我的 "ToString("#.##")" 似乎返回了一个表示零的空字符串。我将其更改为 "ToString("0.##")",现在可以使用了! (感谢@Kevin 提供导致答案的提示!我早就应该发布这个答案......但迟到总比不晚好。)