我目前正致力于开发一个程序,将数量存储为十进制,四位数的部分用于部分销售的极少数产品(例如100ml液体以1mg-3.5mg的可变量出售)。登记/>
我不喜欢这种设计,因为它会导致整个程序在决定如何显示数量方面出现问题,而现在存在一些产品错误地具有十进制值的问题。
你能想到一个更好的方法吗?
我正在寻找数据库中四位小数字段的替代方法。
该项目使用SQL Server 2005。
编辑。为了获得更大的潜在受众,我使这个问题更加通用
答案 0 :(得分:2)
将数量存储在销售的最小数量中。因此,如果mg销售了某些东西,请将其存储起来。这样你就不必存储分数,并处理舍入。
只需为产品创建一个查找表,以便存储其存储和显示方式的值,以及有关该大小的任何其他元数据。
答案 1 :(得分:1)
在.NET中,System.Decimal
将是System.Single
的最佳选择,System.Double
不擅长表示具有准确表示精度的浮点数。
您能提供一个展示您问题的小型完整示例吗?