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

时间:2014-03-31 15:37:57

标签: c# string-formatting precision

我有以下代码,我认为应该格式化字符串有四个小数位。 (意图是值为3.59,添加尾随零,因此字符串值变为3.5900)

string   PreFC = string.Format(dr.Cells["Price"].Value.ToString(),"{0:n4}");
                       // PreFC = (dr.Cells["Price"].Value.ToString());

                        StringBuilder FC = new StringBuilder(PreFC);
                        MessageBox.Show(PreFC);

这不起作用。它给我的价值是3.59而不是3.5900。我做错了什么?

2 个答案:

答案 0 :(得分:2)

请参阅Standard Numeric Format Strings

对于"精确说明符"使用" f"

string PreFC = ((double)dr.Cells["Price"].Value).ToString("f");

答案 1 :(得分:2)

格式错误,值应为:

string   PreFC = string.Format("{0:n4}", dr.Cells["Price"].Value);
                            //Format should be first

不要在值上调用ToString,您将无法使用数字格式处理字符串值。相反,只需传递dr.Cells["Price"].Value,因为string.Format接受object类型参数