C# 格式字符串值精度不起作用
我有以下代码,我认为应该将字符串的格式设置为小数点后四位。 (目的是为了使值为3.59,添加尾随零,使字符串值变为3.5900) 这不管用。它给我的值是3.59,而不是3.5900。我做错了什么?请参见 对于“精度说明符”,请使用“f” 看 对于“精度说明符”,请使用“f”C# 格式字符串值精度不起作用,c#,string-formatting,precision,C#,String Formatting,Precision,我有以下代码,我认为应该将字符串的格式设置为小数点后四位。 (目的是为了使值为3.59,添加尾随零,使字符串值变为3.5900) 这不管用。它给我的值是3.59,而不是3.5900。我做错了什么?请参见 对于“精度说明符”,请使用“f” 看 对于“精度说明符”,请使用“f” 您的格式有误,其值应为: string PreFC = string.Format("{0:n4}", dr.Cells["Price"].Value); //Fo
您的格式有误,其值应为:
string PreFC = string.Format("{0:n4}", dr.Cells["Price"].Value);
//Format should be first
不要对Value调用
ToString
,您将无法使用数值格式处理字符串值。相反,只需传递dr.Cells[“Price”].Value
,因为string.Format
接受对象
类型参数您有错位的格式值,它应该是:
string PreFC = string.Format("{0:n4}", dr.Cells["Price"].Value);
//Format should be first
不要对Value调用
ToString
,您将无法使用数值格式处理字符串值。相反,只需传递dr.Cells[“Price”].Value
,因为string.Format
接受对象
类型参数注意:.ToString()
已经将值转换为字符串,因此没有进一步的格式可用。这实际上是有意义的。谢谢@ja72!注意:.ToString()
已经将值转换为字符串,因此没有进一步的格式。这实际上是有意义的。谢谢@ja72!您需要将参数的顺序更改为string.Format()
@lomed,它不是对象的值
类型,因此只支持无参数ToString()
?您需要将参数的顺序更改为string.Format()
@lomed,对象的值
不是类型吗,因此只支持无参数的ToString()
?为什么强制转换或转换?Format需要对象参数。我在尝试第一行时遇到无效的强制转换异常。第二个非常好用!非常感谢你!为什么要铸造或转化?Format需要对象参数。我在尝试第一行时遇到无效的强制转换异常。第二个非常好用!非常感谢你!
string PreFC = string.Format("{0:n4}", dr.Cells["Price"].Value);
//Format should be first