作者:HAOCWH | 来源:互联网 | 2023-01-02 16:17
假设我在java中有这个整数987654321
.我希望能够删除,说第三和第四位数,所以我可以进入9876521
java.
我知道我可以通过转换为字符串,然后获取子字符串来实现这一点,但有没有办法在不转换为字符串的情况下执行此操作?
1> keyhan..:
%和/是你的朋友!使用模数和除法,我们可以得到我们想要的数字.
我们使用模数来消除最高有效数字,并使用除法来消除最低有效数字.我们可以使用除法,因为余数被截断了.
然后我们将这两个操作中的两个部分放在一起.但是,我们需要将从分区中获得的数字移位到最低有效位数的空间.
拿987654321/10000,这将给你98765(让我们称之为x)
拿987654321%100,这将给你21(让我们称之为y)
x*100 + y = 9876521.
更一般地说,如果你想从数字n中删除一个到第b个数字(其中a
n%10 ^(a-1)+((n/10 ^(b))*10 ^(a-1))
@Taslim感谢你的建议,补充说