"no overload for method “ToString” takes 1 arguments"
"no overload for method “ToString” takes 1 arguments"
我想将数据按原样转换为货币格式,但出现错误。
Faturamento.ValorNF = decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString("#.##"));
错误信息:
"no overload for method “ToString” takes 1 arguments"
我想知道我的代码有什么问题?
无论对象 Value 是什么类型,class 对其的定义都没有采用参数的 ToString() 重载。如果 Value 是集合中的对象类型,则需要将其 cast/convert 为一个字符串,然后将该字符串提供给 decimal 的 parse 方法。请注意,如果您将十进制对象分配给 ValorNF,那么 ToString("#.##") 并不重要,因为您始终可以在以后对其进行格式化以供显示。
也就是说,如果您想将小数位格式化为小数点后两位,我建议您使用标准格式字符串来执行此操作。下面将值解析为小数,然后使用 ToString 将其转换为字符串到小数点后 2 位:
decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString()).ToString("N2", CultureInfo.InvariantCulture);
无论 Value 是什么类型,请确保它有一个 public override string ToString(){} 方法,该方法为您提供字符串表示形式。
那么你可以这样做:
decimal money = decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString());
Faturamento.ValorNF = money.ToString("C"));
我想将数据按原样转换为货币格式,但出现错误。
Faturamento.ValorNF = decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString("#.##"));
错误信息: "no overload for method “ToString” takes 1 arguments"
我想知道我的代码有什么问题?
无论对象 Value 是什么类型,class 对其的定义都没有采用参数的 ToString() 重载。如果 Value 是集合中的对象类型,则需要将其 cast/convert 为一个字符串,然后将该字符串提供给 decimal 的 parse 方法。请注意,如果您将十进制对象分配给 ValorNF,那么 ToString("#.##") 并不重要,因为您始终可以在以后对其进行格式化以供显示。
也就是说,如果您想将小数位格式化为小数点后两位,我建议您使用标准格式字符串来执行此操作。下面将值解析为小数,然后使用 ToString 将其转换为字符串到小数点后 2 位:
decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString()).ToString("N2", CultureInfo.InvariantCulture);
无论 Value 是什么类型,请确保它有一个 public override string ToString(){} 方法,该方法为您提供字符串表示形式。
那么你可以这样做:
decimal money = decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString());
Faturamento.ValorNF = money.ToString("C"));