比如16578,如何取得这个数的最后两位78和前面的165 啊?
对于16578:1.要获取后n位,直接对10^n取模就OK了。对于78,则只需要16578%(10^2)2.要去除后n位,直接除以10^n就OK了。对于165,需要去除后2位,则只需要16578/(10^2)3.要获取中间连续的n位,使用上述步骤1和步骤2的组合,有两种方式:a.获取后n位后再获取前m位。比如,对于16578,要获取57,则先获取后3位,16578%(10^3);然后获取前2位,需要去除后1位,则[16578%(10^3)]/(10^1)b.获取前n位后再获取后m位。比如,对于16578,要获取57,则先获取前4位,需要去除后1位,则16578/(10^1),然后获取后2位,则[16578/(10^1)]%(10^2)使用上述方式就可以获取一个数字中的任意位的数字了。
如果是通用的方式,可以先转换为字符串,然后通过截取函数获得,然后再转化为整数String s = String.valueOf(16578);str1.substring(4);int n = Integer.parseInt(str1);
对对100取模,余数就是78?
要获得最后几位就对10的几次方求模,比如你的就是 16578 % 100。
一般都是除法运算和取模运算想结合来获得各个数位的值,例如16578,中间的3位,则可以先16578/10,然后再去取1000的模,结果就是657,其他各位方法也是一样的
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(5)
对于16578:
1.要获取后n位,直接对10^n取模就OK了。对于78,则只需要16578%(10^2)
2.要去除后n位,直接除以10^n就OK了。对于165,需要去除后2位,则只需要16578/(10^2)
3.要获取中间连续的n位,使用上述步骤1和步骤2的组合,有两种方式:
a.获取后n位后再获取前m位。比如,对于16578,要获取57,则先获取后3位,16578%(10^3);然后获取前2位,需要去除后1位,则[16578%(10^3)]/(10^1)
b.获取前n位后再获取后m位。比如,对于16578,要获取57,则先获取前4位,需要去除后1位,则16578/(10^1),然后获取后2位,则[16578/(10^1)]%(10^2)
使用上述方式就可以获取一个数字中的任意位的数字了。
如果是通用的方式,可以先转换为字符串,然后通过截取函数获得,然后再转化为整数
String s = String.valueOf(16578);
str1.substring(4);
int n = Integer.parseInt(str1);
对对100取模,余数就是78?
要获得最后几位就对10的几次方求模,比如你的就是 16578 % 100。
一般都是除法运算和取模运算想结合来获得各个数位的值,例如16578,中间的3位,则可以先16578/10,然后再去取1000的模,结果就是657,其他各位方法也是一样的