# Convert the given RGB color code to Hex color code

Given three colors as R, G and B, convert this RGB color to hex color code. If the conversion is not possible, print -1.

Examples:

Input: R = 0, G = 0, B = 0
Output: #000000

Input: R = 255, G = 255, B = 256
Output: -1
Explanation:
256 color code is not possible as only 0-255 range is available for a color.

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Approach:

1. First check if each of the given colors is in the range 0-255 or not.
2. If not, then print -1 and exit the program as no conversion is possible in this case.
3. If they are in range, then for each color, convert the given color code into its equivalent hexadecimal number.
4. If the hexadecimal value is of 1 digit, add 0 to the left to make it 2 digit.
5. Then in the final answer, add ‘#’ at the starting followed by the hexadecimal values of R, G, and B respectively.

Below is the implementation of the above approach.

## C++

 `// C++ code to convert the given RGB ` `// color code to Hex color code ` ` `  `#include ` `using` `namespace` `std; ` ` `  `// function to convert decimal to hexadecimal ` `string decToHexa(``int` `n) ` `{ ` `    ``// char array to store hexadecimal number ` `    ``char` `hexaDeciNum; ` ` `  `    ``// counter for hexadecimal number array ` `    ``int` `i = 0; ` `    ``while` `(n != 0) { ` ` `  `        ``// temporary variable to store remainder ` `        ``int` `temp = 0; ` ` `  `        ``// storing remainder in temp variable. ` `        ``temp = n % 16; ` ` `  `        ``// check if temp < 10 ` `        ``if` `(temp < 10) { ` `            ``hexaDeciNum[i] = temp + 48; ` `            ``i++; ` `        ``} ` `        ``else` `{ ` `            ``hexaDeciNum[i] = temp + 55; ` `            ``i++; ` `        ``} ` ` `  `        ``n = n / 16; ` `    ``} ` ` `  `    ``string hexCode = ``""``; ` `    ``if` `(i == 2) { ` `        ``hexCode.push_back(hexaDeciNum); ` `        ``hexCode.push_back(hexaDeciNum); ` `    ``} ` `    ``else` `if` `(i == 1) { ` `        ``hexCode = ``"0"``; ` `        ``hexCode.push_back(hexaDeciNum); ` `    ``} ` `    ``else` `if` `(i == 0) ` `        ``hexCode = ``"00"``; ` ` `  `    ``// Return the equivalent ` `    ``// hexadecimal color code ` `    ``return` `hexCode; ` `} ` ` `  `// Function to convert the ` `// RGB code to Hex color code ` `string convertRGBtoHex(``int` `R, ``int` `G, ``int` `B) ` `{ ` `    ``if` `((R >= 0 && R <= 255) ` `        ``&& (G >= 0 && G <= 255) ` `        ``&& (B >= 0 && B <= 255)) { ` ` `  `        ``string hexCode = ``"#"``; ` `        ``hexCode += decToHexa(R); ` `        ``hexCode += decToHexa(G); ` `        ``hexCode += decToHexa(B); ` ` `  `        ``return` `hexCode; ` `    ``} ` ` `  `    ``// The hex color code doesn't exist ` `    ``else` `        ``return` `"-1"``; ` `} ` ` `  `// Driver program to test above function ` `int` `main() ` `{ ` `    ``int` `R = 0, G = 0, B = 0; ` `    ``cout << convertRGBtoHex(R, G, B) << endl; ` ` `  `    ``R = 255, G = 255, B = 255; ` `    ``cout << convertRGBtoHex(R, G, B) << endl; ` ` `  `    ``R = 25, G = 56, B = 123; ` `    ``cout << convertRGBtoHex(R, G, B) << endl; ` ` `  `    ``R = 2, G = 3, B = 4; ` `    ``cout << convertRGBtoHex(R, G, B) << endl; ` ` `  `    ``R = 255, G = 255, B = 256; ` `    ``cout << convertRGBtoHex(R, G, B) << endl; ` ` `  `    ``return` `0; ` `} `

## Java

 `// Java code to convert the given RGB ` `// color code to Hex color code ` `  `  ` `  `import` `java.util.*; ` ` `  `class` `GFG{ ` `  `  `// function to convert decimal to hexadecimal ` `static` `String decToHexa(``int` `n) ` `{ ` `    ``// char array to store hexadecimal number ` `    ``char` `[]hexaDeciNum = ``new` `char``[``2``]; ` `  `  `    ``// counter for hexadecimal number array ` `    ``int` `i = ``0``; ` `    ``while` `(n != ``0``) { ` `  `  `        ``// temporary variable to store remainder ` `        ``int` `temp = ``0``; ` `  `  `        ``// storing remainder in temp variable. ` `        ``temp = n % ``16``; ` `  `  `        ``// check if temp < 10 ` `        ``if` `(temp < ``10``) { ` `            ``hexaDeciNum[i] = (``char``) (temp + ``48``); ` `            ``i++; ` `        ``} ` `        ``else` `{ ` `            ``hexaDeciNum[i] = (``char``) (temp + ``55``); ` `            ``i++; ` `        ``} ` `  `  `        ``n = n / ``16``; ` `    ``} ` `  `  `    ``String hexCode = ``""``; ` `    ``if` `(i == ``2``) { ` `        ``hexCode+=hexaDeciNum[``0``]; ` `        ``hexCode+=hexaDeciNum[``1``]; ` `    ``} ` `    ``else` `if` `(i == ``1``) { ` `        ``hexCode = ``"0"``; ` `        ``hexCode+=hexaDeciNum[``0``]; ` `    ``} ` `    ``else` `if` `(i == ``0``) ` `        ``hexCode = ``"00"``; ` `  `  `    ``// Return the equivalent ` `    ``// hexadecimal color code ` `    ``return` `hexCode; ` `} ` `  `  `// Function to convert the ` `// RGB code to Hex color code ` `static` `String convertRGBtoHex(``int` `R, ``int` `G, ``int` `B) ` `{ ` `    ``if` `((R >= ``0` `&& R <= ``255``) ` `        ``&& (G >= ``0` `&& G <= ``255``) ` `        ``&& (B >= ``0` `&& B <= ``255``)) { ` `  `  `        ``String hexCode = ``"#"``; ` `        ``hexCode += decToHexa(R); ` `        ``hexCode += decToHexa(G); ` `        ``hexCode += decToHexa(B); ` `  `  `        ``return` `hexCode; ` `    ``} ` `  `  `    ``// The hex color code doesn't exist ` `    ``else` `        ``return` `"-1"``; ` `} ` `  `  `// Driver program to test above function ` `public` `static` `void` `main(String[] args) ` `{ ` `    ``int` `R = ``0``, G = ``0``, B = ``0``; ` `    ``System.out.print(convertRGBtoHex(R, G, B) +``"\n"``); ` `  `  `    ``R = ``255``; G = ``255``; B = ``255``; ` `    ``System.out.print(convertRGBtoHex(R, G, B) +``"\n"``); ` `  `  `    ``R = ``25``; G = ``56``; B = ``123``; ` `    ``System.out.print(convertRGBtoHex(R, G, B) +``"\n"``); ` `  `  `    ``R = ``2``; G = ``3``; B = ``4``; ` `    ``System.out.print(convertRGBtoHex(R, G, B) +``"\n"``); ` `  `  `    ``R = ``255``; G = ``255``; B = ``256``; ` `    ``System.out.print(convertRGBtoHex(R, G, B) +``"\n"``); ` `  `  `} ` `} ` ` `  `// This code is contributed by 29AjayKumar `

## Python3

 `# Python3 program to convert the given  ` `# RGB color code to Hex color code  ` ` `  `# Function to convert decimal to hexadecimal  ` `def` `decToHexa(n):  ` ` `  `    ``# char array to store hexadecimal number  ` `    ``hexaDeciNum ``=` `[``'0'``] ``*` `100` ` `  `    ``# Counter for hexadecimal number array  ` `    ``i ``=` `0` `     `  `    ``while` `(n !``=` `0``):  ` ` `  `        ``# Temporary variable to store remainder  ` `        ``temp ``=` `0` ` `  `        ``# Storing remainder in temp variable.  ` `        ``temp ``=` `n ``%` `16` ` `  `        ``# Check if temp < 10  ` `        ``if` `(temp < ``10``):  ` `            ``hexaDeciNum[i] ``=` `chr``(temp ``+` `48``) ` `            ``i ``=` `i ``+` `1` ` `  `        ``else``:  ` `            ``hexaDeciNum[i] ``=` `chr``(temp ``+` `55``) ` `            ``i ``=` `i ``+` `1` ` `  `        ``n ``=` `int``(n ``/` `16``) ` ` `  `    ``hexCode ``=` `"" ` `    ``if` `(i ``=``=` `2``): ` `        ``hexCode ``=` `hexCode ``+` `hexaDeciNum[``0``]  ` `        ``hexCode ``=` `hexCode ``+` `hexaDeciNum[``1``]  ` ` `  `    ``elif` `(i ``=``=` `1``):  ` `        ``hexCode ``=` `"0"` `        ``hexCode ``=` `hexCode ``+` `hexaDeciNum[``0``] ` ` `  `    ``elif` `(i ``=``=` `0``): ` `        ``hexCode ``=` `"00"` ` `  `    ``# Return the equivalent  ` `    ``# hexadecimal color code  ` `    ``return` `hexCode ` ` `  `# Function to convert the  ` `# RGB code to Hex color code  ` `def` `convertRGBtoHex(R, G, B):  ` ` `  `    ``if` `((R >``=` `0` `and` `R <``=` `255``) ``and` `        ``(G >``=` `0` `and` `G <``=` `255``) ``and` `        ``(B >``=` `0` `and` `B <``=` `255``)):  ` ` `  `        ``hexCode ``=` `"#"``;  ` `        ``hexCode ``=` `hexCode ``+` `decToHexa(R) ` `        ``hexCode ``=` `hexCode ``+` `decToHexa(G)  ` `        ``hexCode ``=` `hexCode ``+` `decToHexa(B)  ` `        ``return` `hexCode ` ` `  `    ``# The hex color code doesn't exist  ` `    ``else``: ` `        ``return` `"-1"` ` `  `# Driver Code ` `R ``=` `0` `G ``=` `0` `B ``=` `0` `print` `(convertRGBtoHex(R, G, B))  ` ` `  `R ``=` `255` `G ``=` `255` `B ``=` `255` `print` `(convertRGBtoHex(R, G, B)) ` ` `  `R ``=` `25` `G ``=` `56` `B ``=` `123` `print` `(convertRGBtoHex(R, G, B)) ` ` `  `R ``=` `2` `G ``=` `3` `B ``=` `4` `print` `(convertRGBtoHex(R, G, B)) ` ` `  `R ``=` `255` `G ``=` `255` `B ``=` `256` `print` `(convertRGBtoHex(R, G, B)) ` ` `  `# This code is contributed by Pratik Basu  `

## C#

 `// C# code to convert the given RGB ` `// color code to Hex color code ` `using` `System; ` ` `  `class` `GFG{ ` ` `  `// Function to convert decimal  ` `// to hexadecimal ` `static` `string` `decToHexa(``int` `n) ` `{ ` `     `  `    ``// char array to store  ` `    ``// hexadecimal number ` `    ``char` `[]hexaDeciNum = ``new` `char``; ` ` `  `    ``// Counter for hexadecimal  ` `    ``// number array ` `    ``int` `i = 0; ` `    ``while` `(n != 0) ` `    ``{ ` ` `  `        ``// Temporary variable to ` `        ``// store remainder ` `        ``int` `temp = 0; ` ` `  `        ``// Storing remainder in  ` `        ``// temp variable. ` `        ``temp = n % 16; ` ` `  `        ``// Check if temp < 10 ` `        ``if` `(temp < 10)  ` `        ``{ ` `            ``hexaDeciNum[i] = (``char``) (temp + 48); ` `            ``i++; ` `        ``} ` `        ``else`  `        ``{ ` `            ``hexaDeciNum[i] = (``char``) (temp + 55); ` `            ``i++; ` `        ``} ` `        ``n = n / 16; ` `    ``} ` `    ``string` `hexCode = ``""``; ` `     `  `    ``if` `(i == 2) ` `    ``{ ` `        ``hexCode += hexaDeciNum; ` `        ``hexCode += hexaDeciNum; ` `    ``} ` `    ``else` `if` `(i == 1) ` `    ``{ ` `        ``hexCode = ``"0"``; ` `        ``hexCode += hexaDeciNum; ` `    ``} ` `    ``else` `if` `(i == 0) ` `        ``hexCode = ``"00"``; ` ` `  `    ``// Return the equivalent ` `    ``// hexadecimal color code ` `    ``return` `hexCode; ` `} ` ` `  `// Function to convert the ` `// RGB code to Hex color code ` `static` `string` `convertRGBtoHex(``int` `R, ``int` `G, ` `                                     ``int` `B) ` `{ ` `    ``if` `((R >= 0 && R <= 255) &&  ` `        ``(G >= 0 && G <= 255) &&  ` `        ``(B >= 0 && B <= 255))  ` `    ``{ ` `        ``string` `hexCode = ``"#"``; ` `        ``hexCode += decToHexa(R); ` `        ``hexCode += decToHexa(G); ` `        ``hexCode += decToHexa(B); ` ` `  `        ``return` `hexCode; ` `    ``} ` ` `  `    ``// The hex color code doesn't exist ` `    ``else` `        ``return` `"-1"``; ` `} ` ` `  `// Driver code ` `public` `static` `void` `Main(``string``[] args) ` `{ ` `    ``int` `R = 0, G = 0, B = 0; ` `    ``Console.Write(convertRGBtoHex(R, G, B) + ``"\n"``); ` ` `  `    ``R = 255; G = 255; B = 255; ` `    ``Console.Write(convertRGBtoHex(R, G, B) + ``"\n"``); ` ` `  `    ``R = 25; G = 56; B = 123; ` `    ``Console.Write(convertRGBtoHex(R, G, B) + ``"\n"``); ` ` `  `    ``R = 2; G = 3; B = 4; ` `    ``Console.Write(convertRGBtoHex(R, G, B) + ``"\n"``); ` ` `  `    ``R = 255; G = 255; B = 256; ` `    ``Console.Write(convertRGBtoHex(R, G, B) + ``"\n"``); ` `} ` `} ` ` `  `// This code is contributed by rutvik_56 `

Output:

```#000000
#FFFFFF
#9183B7
#020304
-1
```

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.