我应该使用哪些类型来表示C#和SQL Server中的百分比
本文关键字:SQL Server 百分比 表示 类型 我应该 | 更新日期: 2023-09-27 17:48:53
我在想浮动。为了记录在案,我也在使用NHibernate。
decimal
您不会因为舍入而失去精度。
答案取决于应用程序。
其他人指出,十进制比浮点更好地表示精确的值。但有时最好使用浮点来提高精度(例如,一组计算的权重加起来达到100%可能更好地表示为浮点)
这在很大程度上取决于您需要多少精度;最重要的是保持一致和清晰。采取预防措施,确保您在整个领域的使用保持一致。。也就是说,不要将其存储为浮点(n=.5),然后尝试将其重新构造为代码另一部分中的整数(mypercenter=n/100)。只要你确保不要这样做,并且你不是在制造一个需要30个有效精度的激光器,只需在int、double或任何浮动之间选择你最喜欢的口味。waka-waka。
这取决于您需要的准确性。如果你不需要任何小数位数,你甚至可以使用小整数。但如果你需要一些小数位数,通常浮点运算是很好的。我对%的使用LLBLGen和浮点
对于SQL Server,我很少存储百分比。10次中有9次您希望存储用于导出百分比并根据需要进行计算的数据。
如果并且只有当你有经验数据显示计算太慢时,才可以继续存储。按照之前的建议使用小数,以避免舍入问题。
这取决于您使用它们的目的。
如果是为了显示,int会做得很好,而且比float更快。如果是不常用的数学,int仍然可以(甚至是short,在任何一种情况下)。
如果你做了很多数学运算,那么从性能角度来看,浮点运算可能是最好的。
当然,除非你对百分比进行了大量的操作,否则考虑到现代处理器的速度,从性能角度来看,这最终并不重要。
编辑:当然,"int"假设您只是使用了严格的整数百分比。如果你不是,你总是会更好地使用float或dec.