"方法“ToString”没有重载需要1个参数"

时间:2016-04-22 19:18:02

标签: c# notation

我想将数据转换为货币格式,但它给出错误。

Faturamento.ValorNF = decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString("#.##"));

错误讯息: "方法“ToString”没有重载需要1个参数"

我想知道我的代码出了什么问题?

2 个答案:

答案 0 :(得分:1)

无论Value是什么类型,都要确保它有一个公共覆盖字符串ToString(){}方法,它为您提供字符串表示。

然后你可以这样做:

decimal money = decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString());

Faturamento.ValorNF = money.ToString("C"));

答案 1 :(得分:0)

无论Value的类型是什么,它的类定义都没有带参数的ToString()重载。如果Value是集合中的object类型,则需要将其转换/转换为字符串,然后将其提供给decimal的parse方法。请注意,如果您要将一个小数对象分配给ValorNF,ToString(“#。##”)并不重要,因为您可以随时将其格式化以供显示。

话虽如此,如果您想将小数格式化为2位小数,我建议您使用标准格式字符串来执行此操作。下面将该值解析为小数,然后使用ToString将其转换为2位小数的字符串:

decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString()).ToString("N2", CultureInfo.InvariantCulture);
相关问题