我想将一个 4 位整数拆分为 2。即转换1234
为两个变量;x=12
和y=34
。使用 Java。
问问题
9876 次
7 回答
4
int four = 1234;
int first = four / 100;
int second = four % 100;
第一个有效,因为整数总是向下舍入,除以 100 时去掉最后两位数。
第二个称为模数,除以 100,然后取余数。这会去除除前两位之外的所有数字。
假设您的位数可变:
int a = 1234, int x = 2, int y = 2;
int lengthoffirstblock = x;
int lengthofsecondblock = y;
int lengthofnumber = (a ==0) ? 1 : (int)Math.log10(a) + 1;
//getting the digit-count from a without string-conversion
int first = a / Math.pow(10 , (lengthofnumber - lengthoffirstblock));
int second = a % Math.pow(10 , lengthofsecondblock);
如果您遇到输入可能为负的情况,最后会有一些有用的东西:
Math.abs(a);
于 2012-08-10T10:53:20.827 回答
3
int a = 1234;
int x = a / 100;
int y = a % 100;
于 2012-08-10T10:53:20.630 回答
1
int i = 1234;
int x = 1234 / 100;
int y = i - x * 100;
于 2012-08-10T10:53:21.630 回答
1
您可以将其视为字符串并使用substring()或整数将其拆分:
int s = 1234;
int x = s / 100;
int y = s % 100;
如果它最初是一个 int,我会将它保留为一个 int 并执行上述操作。
请注意,如果您的输入不是四位数,您需要考虑会发生什么。例如 123。
于 2012-08-10T10:53:45.643 回答
1
如果您想拆分相同的号码:
int number=1234;
int n,x,y; //(here n=1000,x=y=1)
int f1=(1234/n)*x; //(i.e. will be your first splitter part where you define x)
int f2=(1234%n)*y; //(secend splitter part where you will define y)
如果您想将数字拆分为 (12*x,34*y){其中 x=倍数/12 的倍数 & y=倍数/34 倍的倍数),那么
1234=f(x(12),y(34))=f(36,68)
int number=1234;
int n; //(here n=1000)
int x=3;
int y=2;
int f1=(1234/n)*x; //(i.e. will be your first splitter part where you define x)
int f2=(1234%n)*y; //(secend splitter part where you will define y)
于 2012-08-13T06:17:52.720 回答
0
int i = 1234;
int x = i / 100;
int y = i % 100;
于 2012-08-10T11:00:19.587 回答
-1
int num=1234;
String text=""+num;
String t1=text.substring(0, 2);
String t2=text.substring(2, 4);
int num1=Integer.valueOf(t1);
int num2=Integer.valueOf(t2);
System.out.println(num1+" "+num2);
于 2012-08-10T10:54:15.170 回答