Given an input string
N
consisting of numerals and separators (, ) in the Indian Numeric System, the task is to print the string after placing separators(, ) based on International Numeric System.
Examples:
Input: N = “12, 34, 56, 789” Output: 123, 456, 789 Input: N = “90, 05, 00, 00, 000” Output: 90, 050, 000, 000
Approach:
- Remove all the separators (, ) from the string.
- Iterate from the end of the string and place a separator(, ) after every third number.
- Print the result.
Below is the implementation of the above approach:
C++
// C++ Program to convert // the number from Indian system // to International system #include <bits/stdc++.h> using namespace std; // Function to convert Indian Numeric // System to International Numeric System string convert(string input) { // Length of the input string int len = input.length(); // Removing all the separators(, ) // From the input string for ( int i = 0; i < len; i++) { if (input[i] == ',' ) { input.erase(input.begin() + i); len--; i--; } } // Initialize output string string output = "" ; int ctr = 0; // Process the input string for ( int i = len - 1; i >= 0; i--) { ctr++; output = input[i] + output; // Add a separator(, ) after // every third digit if (ctr % 3 == 0 && ctr < len) { output = ',' + output; } } // Return the output string back // to the main function return output; } // Driver Code int main() { string input1 = "12,34,56,789" ; string input2 = "90,05,00,00,000" ; cout << convert(input1) << endl; cout << convert(input2) << endl; } |
Java
public class IndianToInternationalConversion { // Function to convert Indian Numeric // System to International Numeric System static String convert(String input) { // Remove all the separators (, ) from the input string input = input.replaceAll( "," , "" ); // Initialize the output string and counter StringBuilder output = new StringBuilder(); int ctr = 0 ; // Process the input string from right to left for ( int i = input.length() - 1 ; i >= 0 ; i--) { ctr++; output.insert( 0 , input.charAt(i)); // Add the current digit to the output // Add a separator (, ) after every third digit (from right to left) if (ctr % 3 == 0 && ctr < input.length()) { output.insert( 0 , ',' ); } } // Return the output string return output.toString(); } // Driver Code public static void main(String[] args) { String input1 = "12,34,56,789" ; String input2 = "90,05,00,00,000" ; System.out.println(convert(input1)); System.out.println(convert(input2)); } } |
Python
# Function to convert Indian Numeric # System to International Numeric System def convert(input_str): # Length of the input string len_input = len (input_str) # Removing all the separators (, ) # From the input string i = 0 while i < len_input: if input_str[i] = = ',' : input_str = input_str[:i] + input_str[i + 1 :] len_input - = 1 else : i + = 1 # Initialize output string output = "" ctr = 0 # Process the input string for i in range (len_input - 1 , - 1 , - 1 ): ctr + = 1 output = input_str[i] + output # Add a separator (, ) after # every third digit if ctr % 3 = = 0 and ctr < len_input: output = ',' + output # Return the output string back # to the main function return output # Driver Code if __name__ = = "__main__" : input1 = "12,34,56,789" input2 = "90,05,00,00,000" print (convert(input1)) print (convert(input2)) |
Javascript
// Function to convert Indian Numeric // System to International Numeric System function convert(input) { // Removing all the separators(, ) // From the input string input = input.replace(/,/g, '' ); // Initialize output string let output = '' ; let ctr = 0; // Process the input string for (let i = input.length - 1; i >= 0; i--) { ctr++; output = input.charAt(i) + output; // Add a separator(, ) after // every third digit if (ctr % 3 === 0 && ctr < input.length) { output = ',' + output; } } // Return the output string back // to the caller return output; } // Driver Code const input1 = '12,34,56,789' ; const input2 = '90,05,00,00,000' ; console.log(convert(input1)); console.log(convert(input2)); |
123,456,789 90,050,000,000
Related article:
Convert the number from International system to Indian system
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!