C# 如何使用C将十进制转换成字符串#
我从数据库中得到一些十进制结果,但我想将其转换为字符串。从数据库返回的值类似于2.500000或1.500000,但在本例中,我想将其显示为2.5或1.5C# 如何使用C将十进制转换成字符串#,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我从数据库中得到一些十进制结果,但我想将其转换为字符串。从数据库返回的值类似于2.500000或1.500000,但在本例中,我想将其显示为2.5或1.5 using (SqlConnection con = new SqlConnection(strConnString)) { using (SqlCommand cmd = new SqlCommand()) { cmd.Connection = con; cmd.CommandType = C
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = @"select DATEDIFF(minute, Min(myDate), Max(myDate)) / 60.0 as hours
from myTable
where userid = @UserID
and DT_Submitted = (select CAST(FLOOR( CAST(GETDATE() AS FLOAT)) AS DATETIME))
and Checked = 1";
cmd.Parameters.AddWithValue("@UserID", tempUser.ToString());
con.Open();
decimal result = (decimal)cmd.ExecuteScalar();
lblHours.Text = result.ToString() + " Hours";
con.Close();
con.Dispose();
}
}
使用以下代码将十进制值转换为字符串:
num.ToString( "0.#" )
如果您想更好地控制需要如何以字符串格式表示
十进制
,请使用该方法
以下是规则和规则。您只需调用接受格式字符串的
ToString
重载之一
using (SqlConnection con = new SqlConnection(strConnString))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = @"select DATEDIFF(minute, Min(myDate), Max(myDate)) / 60.0 as hours
from myTable
where userid = @UserID
and DT_Submitted = (select CAST(FLOOR( CAST(GETDATE() AS FLOAT)) AS DATETIME))
and Checked = 1";
cmd.Parameters.AddWithValue("@UserID", tempUser.ToString());
con.Open();
decimal result = (decimal)cmd.ExecuteScalar();
lblHours.Text = result.ToString("0.#") + " Hours";
con.Close();
}
}
另一方面,您不需要在连接上调用
Dispose
,因为您处于一个using块中,它会自动执行此操作。尽管如此,您还是应该调用Close
。您是否看到使用格式字符串的ToString()
重载?请在以后的文章中发布。这里没有你的数据库代码的理由。搞错了,伙计。@aron更新了答案谢谢,你救了我一天,这正是我要找的。再次感谢