Convert String to currency format

Given a number N. Convert N into an Indian currency format. For more understanding, please look into examples.
Examples:
Input: N = 1000000
Output: Rs 10, 00, 000Input: N = 1500
Output: Rs 1, 500
Approach: Steps involved in the implementation of code:
- We need to check whether the length of the string is even or odd.
- If the length of the string is less than equal to 3 we will simply return it else we will do the following, newString = “”.
- if the length is odd:
- we will the first character into a new string newSstring = N[0].
- and then we will and commas new string = “, “.
- Now we will skip the two characters and then add “, ” till the length < n-2.
- And at last, we will add the remaining characters to the newString.
Below is the implementation of the code:
C++
// C++ implementation of the code
#include <bits/stdc++.h>
using namespace std;
// Function to convert N
// into indian currency
string goodFormat(string s, int n)
{
// If length if less than 3
if (n <= 3)
return "Rs. " + s;
string ans = "";
int start = 0, cnt = 0;
// If length is even
if (n % 2 == 0) {
ans += s[0];
ans += ", ";
start = 1;
}
while (start < n - 2) {
if (cnt == 2) {
ans += ", ";
cnt = 0;
continue;
}
else {
ans += s[start];
cnt++;
}
start++;
}
for (int i = start; i < n; i++)
ans += s[i];
return "Rs " + ans;
}
// Drivers code
int main()
{
string s = "1000000";
int l = s.length();
// Function Call
cout << goodFormat(s, l);
return 0;
}
Java
// Java implementation of the code
import java.util.*;
class GFG {
// Function to convert N
// into Indian currency
static String goodFormat(String s, int n)
{
// If length is less than 3
if (n <= 3)
return "Rs. " + s;
String ans = "";
int start = 0, cnt = 0;
// If length is even
if (n % 2 == 0) {
ans += s.charAt(0);
ans += ", ";
start = 1;
}
while (start < n - 2) {
if (cnt == 2) {
ans += ", ";
cnt = 0;
continue;
}
else {
ans += s.charAt(start);
cnt++;
}
start++;
}
for (int i = start; i < n; i++)
ans += s.charAt(i);
return "Rs " + ans;
}
// Drivers code
public static void main(String[] args)
{
String s = "1000000";
int l = s.length();
// Function Call
System.out.println(goodFormat(s, l));
}
}
// This code is contributed by prasad264
Python3
# Python3 implementation of the code
# Function to convert N
# into indian currency
def goodFormat(s, n):
# If length if less than 3
if (n <= 3):
return "Rs. " + s
ans = ""
start = 0
cnt = 0
# If length is even
if (n % 2 == 0):
ans += s[0]
ans += ", "
start = 1
while (start < n - 2):
if (cnt == 2):
ans += ", "
cnt = 0
continue
else:
ans += s[start]
cnt += 1
start += 1
for i in range(start, n):
ans += s[i]
return "Rs " + ans
# Drivers code
s = "1000000"
l = len(s)
# Function Call
print(goodFormat(s, l))
C#
using System;
public class IndianCurrencyFormatter
{
public static string GoodFormat(string s)
{
int n = s.Length;
// If length if less than 3
if (n <= 3)
return "Rs. " + s;
string ans = "";
int start = 0, cnt = 0;
// If length is even
if (n % 2 == 0)
{
ans += s[0];
ans += ", ";
start = 1;
}
while (start < n - 2)
{
if (cnt == 2)
{
ans += ", ";
cnt = 0;
continue;
}
else
{
ans += s[start];
cnt++;
}
start++;
}
for (int i = start; i < n; i++)
ans += s[i];
return "Rs " + ans;
}
public static void Main()
{
string s = "1000000";
// Function Call
Console.WriteLine(GoodFormat(s));
}
}
Javascript
// Javascript implementation of the code
// Function to convert N
// into indian currency
function goodFormat(s, n)
{
// If length if less than 3
if (n <= 3)
return "Rs. " + s;
let ans = "";
let start = 0, cnt = 0;
// If length is even
if (n % 2 == 0) {
ans += s[0];
ans += ", ";
start = 1;
}
while (start < n - 2) {
if (cnt == 2) {
ans += ", ";
cnt = 0;
continue;
}
else {
ans += s[start];
cnt++;
}
start++;
}
for (let i = start; i < n; i++)
ans += s[i];
return "Rs " + ans;
}
// Drivers code
let s = "1000000";
let l = s.length;
// Function Call
console.log(goodFormat(s, l));
Output
Rs 10, 00, 000
Time Complexity: O(N)
Auxiliary Space: O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



