如何避免decimal类型或者money类型的小数位数

如何处理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