我想将数据转换为货币格式,但它给出错误。
Faturamento.ValorNF = decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString("#.##"));
错误讯息: "方法“ToString”没有重载需要1个参数"
我想知道我的代码出了什么问题?
答案 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);