我想了很长时间才能找到解决方案,但我找不到解决问题的方法:
说明: 我有变量x。 x是我的oracle数据库中的1到99之间的ID号。
我填写完表格后,在数据库中最多插入8行(因为我有动态文本框,所以我从1行插入到8个拖曳)。现在,我想将x计数到99,直到达到99,它应该重新从1开始。
问题是我实际上插入了以下行:
Row1: Insert (text, 97) (97 is the ID)
Row2: Insert (text, 98) (98 is the ID)
Row3: Insert (text, 99) (99 is the ID)
Row4: Insert (text, 100) (100 is the ID) now here is the problem, it should begin at 1 again and insert 1.
Row5: Insert (text, 101) (101 is the ID) should be 2.
...
我希望有人容易知道解决方案。
非常感谢您
答案 0 :(得分:2)
要进行除法运算的余数,可以使用模运算符%
。但这在以0开头的序列上效果最好。因此,如果您将“ x”从1-99映射到0-98(减去1),则可以取模数,然后将除以99的余数。然后可以映射再次加1将其恢复为1-99。
因此该语句变为
int id = (x - 1) % 99 + 1;
编辑:不太确定您在问题中的意思。但是,如果您将x的值设为102,则id变为3。它首先减去1,即为101。然后除以99,得到余数。即为2。然后再加1,所以它变为3。因此对应于x值102的id为3。