如何使用C#将十进制转换为字符串

我从数据库中得到一些小数结果,但我想将其转换为字符串。从数据库返回的值是2.500000或1.500000,但在此示例中,我想将其显示为2.5或1.5

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();
    }
}
夜猫子888

您只需要调用其中一个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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#:如何将十进制转换为字符串而不转换为指数表示

使用C将十六进制字符串常量转换为十进制值

C#将十进制转换为具有指定格式的字符串

c#将字符串值转换为十进制的正确方法

C#通过分隔数字将十进制转换为字符串

无法将参数值从字符串转换为十进制。C#?

将十进制转换为字符串 C#

Java - 如何使用货币格式将字符串转换为大十进制数

将字符串转换为十进制(“ 3942.000000000000”)

C#将十六进制字符串转换为十进制。为什么是负值?

Arduino C / C ++将二进制字符串转换为十进制

如何将二进制字符串转换为十进制?

如何将二进制字符串值转换为十进制

如何将很大的十进制字符串转换为十六进制?

如何将十六进制字符串转换为十进制值

C程序将十进制数转换为二进制字符串

将C中的十六进制字符串转换为十进制

C ++从字符串输入将二进制转换为十进制

我将如何使用 js 将十进制数转换为十六进制字符串?

如何在 C++ 中将十六进制转换为十进制字符串?

如何在 c# Windows 窗体中将带有十进制的 TextBox 字符串转换为十进制。

如何将很大的十进制数转换为字符串?

如何将列值从字符串转换为十进制?

如何将字符串3.0E-4转换为十进制

如何将负字符串转换为十进制值?

如何将ASCII字符串转换为十进制数字?

在monotouch中,如何将字符串转换为十进制/浮点数?

如何一步将xsd:double字符串转换为十进制

使用 JavaScript 手动将十进制字符串转换为数字