将数据库值(float)显示为标签中的C#为float还是double?

时间:2018-03-09 16:17:06

标签: c# .net sql-server ado.net

如何在标签中将C#的数据库值(float)显示为float或double?我已经弄清楚如何将其显示为字符串,但无法使其显示为double。我尝试了.ToString("00.00)";.ToString("#0.00");并得到一个错误“没有重载方法'To String'需要1个参数。”。

private void pos_Load(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection("Data Source=DESKTOP-39SPLT0;Initial Catalog=SalesandInventory;Integrated Security=True");
            con.Open();
            SqlCommand cmd1 = new SqlCommand("select * from tblProduct", con);
            SqlDataReader reader = cmd1.ExecuteReader();
            reader.Read();
            lblEspSing.Text = reader["pPrice"].ToString();
            reader.Read();
            lblEspDou.Text = reader["pPrice"].ToString();
        }        

2 个答案:

答案 0 :(得分:4)

你需要先施展它

((float) reader["pPrice"]).ToString("00.00"); 

答案 1 :(得分:0)

您可以将其转换为字符串,然后使用{0:N2}在其上使用string.format。 格式化为两位小数。

string.Format("{0:N2}", pPrice)

然后,如果您需要3位小数:

string.Format("{0:N3}", pPrice)

等等。

您也可以这样将字符串存储在字符串中,而不必担心精度,然后将您的值转换为测试比较字符串的值:

string strDecimalVal = Convert.ToString(pPrice);