对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);