通常,您在.NET中使用double
或decimal
作为货币值。对于数据库端存储而言,货币值在小数点方面所需的最大精度是多少,而不是在计算期间。
INR:印度卢比有paise - > 1.25表示1卢比和25表。最大精度是小数点后的2位数。你根本不能拥有25.2。
美元:美元有分 - > 1.25意味着1美元和25美分。最大精度是2位数还是曾经考虑过分美分值的情况?
其他:我假设其他主要货币的处理方式与美元相同?
答案 0 :(得分:1)
是的我认为小数点后的2位数字足以处理最的货币值。但是,在某种情况下,您可能会在某些计算中得到类似125的值,但您也可以将其转换为1卢比和25卢比。但是,当涉及到数据库端时,如果您使用的是SQL Server,那么DECIMAL(19, 4)
是用于货币交易的流行选择。
另外,其他人评论说,这实际上取决于您使用这些值的方式和位置。至于你提供的例子让我们拿卢比。然后1卢比有100张,这是肯定的。但是如何在交易中使用这100个图表。这就是你是否要在将金额达到100的价格转换为Rs时将其转换为或者您是否只想将价值存储在paise中。因此,在这两种情况下,精度可能会有所不同。