Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java convert any integer to 4 digits

Tags:

This seems like an easy question. One of my assignments basically sends a time in military format (like 1200, 2200, etc) to my class.

How can I force the integer to be converted to 4 digits when it's received by my class? For example if the time being sent is 300, it should be converted to 0300.

EDIT: it turns out i didnt need this for my problem as i just had to compare the values. Thanks

like image 315
Cody Avatar asked Oct 11 '11 04:10

Cody


People also ask

How do you input a 4 digit number in Java?

String pin = obj. nextLine(); To check if this pin contains 4 digits, we can use the regex \d{4} .

How do you convert int to digits?

You don't need to convert int to String . Just use % 10 to get the last digit and then divide your int by 10 to get to the next one. int temp = test; ArrayList<Integer> array = new ArrayList<Integer>(); do{ array. add(temp % 10); temp /= 10; } while (temp > 0);

How do you convert a number to a digit in Java?

You can convert a number into String and then you can use toCharArray() or split() method to separate the number into digits. String number = String. valueOf(someInt); char[] digits1 = number. toCharArray(); // or: String[] digits2 = number.


2 Answers

As simple as that:

String.format("%04d", 300) 

For comparing hours before minutes:

int time1 =  350; int time2 = 1210; // int hour1 = time1 / 100; int hour2 = time2 / 100; int comparationResult = Integer.compare(hour1, hour2); if (comparationResult == 0) {     int min1 = time1 % 100;     int min2 = time2 % 100;     comparationResult = Integer.compare(min1, min2); } 

Note:

Integer.compare(i1, i2) has been added in Java 1.7, for previous version you can either use Integer.valueOf(i1).compareTo(i2) or

int comparationResult; if (i1 > i2) {     comparationResult = 1; } else if (i1 == i2) {     comparationResult = 0; } else {     comparationResult = -1; } 
like image 148
Alex Abdugafarov Avatar answered Sep 21 '22 06:09

Alex Abdugafarov


 String a = String.format("%04d", 31200).substring(0, 4); /**Output: 3120 */  System.out.println(a);   String b = String.format("%04d", 8).substring(0, 4); /**Output: 0008 */ System.out.println(b); 
like image 20
Q10Viking Avatar answered Sep 18 '22 06:09

Q10Viking