Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 格式字符串值精度不起作用_C#_String Formatting_Precision - Fatal编程技术网

C# 格式字符串值精度不起作用

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

我有以下代码,我认为应该将字符串的格式设置为小数点后四位。 (目的是为了使值为3.59,添加尾随零,使字符串值变为3.5900)

这不管用。它给我的值是3.59,而不是3.5900。我做错了什么?

请参见

对于“精度说明符”,请使用“f”

对于“精度说明符”,请使用“f”


您的格式有误,其值应为:

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