如何处理decimal类型或者money类型的小数位数
存储过程:
----------------------------------------
ALTER PROCEDURE [dbo].[QueryPrice]
	 @NAME varchar(50)
	,@PRICE decimal(18,2) OUTPUT
AS
BEGIN
	SET @PRICE = (SELECT PRICE FROM INFO WHERE NAME =@NAME)
END
---------------------------------------
Form内调用:
--------------------------------------------
                 connection.Open();
                 SqlCommand command = new SqlCommand();
                 command.Connection = connection;
                 command.CommandText = "QueryPrice";
                 command.CommandType = CommandType.StoredProcedure;
                 command.Parameters.AddWithValue("@NAME", comboName.Text);   
                 command.Parameters.Add("@PRICE", SqlDbType.Decimal).Direction = ParameterDirection.Output;
                 command.ExecuteNonQuery();
                 textPrice.Text = command.Parameters["@PRICE"].Value.ToString();
                 connection.Close();
--------------------------------------------------
问题:
为什么textPrice.Text (TextBox控件)显示不了小数部分,如何显示小数部分。
另外说明,我原来PRICE在数据库中是使用money类型,但小数位一直是4位,不知道怎么调整成2位,按上面相同的方法处理,textPrice.Text也是显示4位小数。
谢谢!
------解决方案--------------------楼主你在程序中用断点跟踪一下这个command.Parameters["@PRICE"].Value.ToString()
有木有小数点
------解决方案--------------------SQL code
ALTER PROCEDURE [dbo].[QueryPrice]
@NAME varchar(50)
,@PRICE decimal(18,2) OUTPUT
AS
BEGIN
SET @PRICE = (SELECT round(PRICE,2) FROM INFO WHERE NAME =@NAME)
END