我正在编写一个例程,在将数据插入数据库之前对其进行验证,其中一个步骤是查看数值是否符合数字(x,y)SQL-Server类型的精度和比例.
我已经从SQL-Server获得了精度和规模,但是在C#中获得CLR值的精度和规模的最有效方法是什么,或者至少测试它是否适合给定的约束?
目前,我正在将CLR值转换为字符串,然后使用.IndexOf()查找小数点的位置.有更快的方法吗?
System.Data.SqlTypes.SqlDecimal.ConvertToPrecScale( new SqlDecimal (1234.56789), 8, 2)
给出1234.67.它将截断小数位后的额外数字,并将抛出错误而不是尝试截断小数位前的数字(即ConvertToPrecScale(12344234,5,2)