对decimal 类型的数据进行获取调整

Decimal为SQL Server、MySql等数据库的一种数据类型,不属于浮点数类型,可以在定义时划定整数部分以及小数部分的位数。

好处:使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间

在C#中 decimal 表示128 位的数据类型。与double类型相比有更高的精度和更小的类型

百分比使用 decimal(4,2)   就可以

“4” 指的是整数部分加小数部分的总长度,也即插入的数字整数部分不能超过“10-2”位,否则不能成功插入,会报超出范围的错误。

“2”表示小数部分的位数,如果插入的值未指定小数部分或者小数部分不足两位则会自动补到2位小数,若插入的值小数部分超过了2为则会发生截断,截取前2位小数。

这使  .net

注意:在前台输入的是文本,而在数据库中保存的是 decimal 类型 ,所以要转换一下

 代码

<td width="20%" align="right" bgcolor="#F5F5F5">请假时长:</td>
<td align="left" bgcolor="#FFFFFF" width="30%">
<asp:TextBox MaxLength="9"  ID="tbLeaveTime" runat="server"></asp:TextBox>
</td>
        if (this.tbLeaveTime.Text.Trim() == string.Empty)
        {
            mdkaoqinginfo.LeaveTime = 0;
        }
        else
        {
            mdkaoqinginfo.LeaveTime = Convert.ToDecimal(this.tbLeaveTime.Text);//请假时长
        }
        

2、对获取decimal 类型的数字,保留小数点后一位,及使是6.9999    ,需要的是6.9

这就需要将其转换为字符串,通过截取之后获取的值在转换为  decimal 类型

比如:在一个无返回值得的方法中传递一个 decimal 类型的参数  testd1

  //将decimal 类型的数字转换为 string类型,要是直接去 小数点后一位  会自动进行四舍五入所以,TOString 的时候要注意

  string s = testd1.ToString("0.00000");

  // 对字符串进行截取获取小数点后一位

  string ss = s.Substring(0, s.IndexOf(".") + 2);

   //在将其转换为数字

  testd1= Convert.ToDecimal(ss);

原文地址:https://www.cnblogs.com/obge/p/11357626.html