![]() | 1 66450146 2012-12-28 10:45:40 +08:00 我觉得全部按照换算后的铜币数量保存排序然后显示的时候换算成金/银/铜会更容易一些 |
![]() | 2 best1a 2012-12-28 10:51:56 +08:00 说不定后端存的就只是铜币,然后前端输出的时候再转换... |
![]() | 3 kenneth OP |
![]() | 4 INT21H 2012-12-28 11:09:22 +08:00 Lovingly made by Kenneth |
![]() | 5 laskuma 2012-12-28 11:14:59 +08:00 肯定只存铜币啊。好比19银71铜就存成1971 最后做几个取和整除就行了 |
![]() | 6 august 2012-12-28 11:15:08 +08:00 余是的 1920.49 你一下你的就看到 |
![]() | 7 66450146 2012-12-28 11:15:59 +08:00 @kenneth 后端不用保存金币和银币,全部用铜币保存。就像你的银行账号不关心你存的是几张百元大钞几张十元钞票几个钢蹦,都直接按照最小的分币来计算。 显示的时候再到前端计算,g = money / 10000, s = (money / 100) % 100, b = money % 100 |
![]() | 8 august 2012-12-28 11:17:03 +08:00 再退一步,就算分存在金 ,mysql 的 order by 也可以 order by `金` desc, `` desc , `` desc; |
![]() | 9 kenneth OP |
![]() | 10 INT21H 2012-12-28 11:27:22 +08:00 兑换比例个毛线。。什么时候见过 1k = 1000 这个比例变过? |
![]() | 11 kenneth OP @INT21H 咋了,又错了?我和你实物交换,我又不和你算成货币。 另外说下@august 这样做也可以 Desc(User.gold),Desc(User.silver),Desc(User.bronze) 现在排序正确了。 http://www.mvmap.com/top/rich |
![]() | 13 kenneth OP @laskuma Int又索引的情况,性能下降有限。如果要实物交换,控制兑换率,就需要分3种,如果不需要,还是做成money一个字段的好。我菜鸟,设计很多纰漏,感谢大家指正。 |
![]() | 14 cabbala 2012-12-28 13:08:56 +08:00 @kenneth 问题的关键是你想让金银铜成为一种货币还是三种货币。 如果是一种,那么只存铜币,如果是三种,那么分别存。。。 三种货币比较好玩,可以设定一个买卖中心 但是v2ex明显是一种货币,因为会自进位 |
![]() | 15 alwaysbeta 2012-12-28 13:35:11 +08:00 mark |