Dado un número entero n y el carácter ch , devuelve una String usando el carácter como separador de miles en el número dado.
Ejemplos:
Entrada: n=1234 , ch =’.’
Salida: 1.234
En la entrada anterior, «.» El carácter se usa como separador de miles y se coloca entre cientos y miles de lugares comenzando desde la derecha. La salida obtenida se devuelve como formato de string.
Entrada: n=123456789, ch =’.’
Salida: 123.456.789
Acercarse:
- Convierte el número en una string.
- Inicie el recorrido de la string desde el lado derecho.
- Agregue el carácter separador después de cada tres dígitos
A continuación se muestra el código que usa el mismo enfoque usando Java.
Java
// Java Program for Adding a character as thousands separator // to the given number and returning in string format class GFG { static String thousandSeparator(int n, String ch) { // Counting number of digits int l = (int)Math.floor(Math.log10(n)) + 1; StringBuffer str = new StringBuffer(""); int count = 0; int r = 0; // Checking if number of digits is greater than 3 if (l > 3) { for (int i = l - 1; i >= 0; i--) { r = n % 10; n = n / 10; count++; if (((count % 3) == 0) && (i != 0)) { // Parsing String value of Integer str.append(String.valueOf(r)); // Appending the separator str.append(ch); } else str.append(String.valueOf(r)); } str.reverse(); } // If digits less than equal to 3, directly print n else str.append(String.valueOf(n)); return str.toString(); } // Driver code public static void main(String[] args) { int n = 123456789; String ch = "."; System.out.println(thousandSeparator(n, ch)); } }
Producción
123.456.789
Complejidad de tiempo: O(n)