Given a positive decimal number, find the simple exponential notation (x = a·10^b) of the given number.

Examples:

Input : 100.0 Output : 1E2 Explanation: The exponential notation of 100.0 is 1E2. Input :19 Output :1.9E1 Explanation: The exponential notation of 16 is 1.6E1.

**Approach:**

The simplest way is to find the position of the first non zero digit and the position of the dot. The difference between that positions is the value of b (if the value is positive you should also decrease it by one).

Below is the implementation of the above approach:

`// C++ code to find the exponential notation ` `#include <bits/stdc++.h> ` `using` `namespace` `std; ` ` ` `// function to calculate the exponential ` `// notation ` `void` `FindExponent(` `char` `s[], ` `int` `n) ` `{ ` ` ` `int` `i, j, b, c; ` ` ` `for` `(i = 0; s[i] == ` `'0'` `|| s[i] == ` `'.'` `; i++) ` ` ` `; ` ` ` `for` `(j = n - 1; s[j] == ` `'0'` `|| s[j] == ` `'.'` `; j--) ` ` ` `; ` ` ` ` ` `c = find(s, s + n, ` `'.'` `) - s; ` ` ` `putchar` `(s[i]); ` ` ` ` ` `if` `(i != j) ` ` ` `putchar` `(` `'.'` `); ` ` ` ` ` `for` `(` `int` `k = i + 1; k <= j; k++) ` ` ` `if` `(s[k] != ` `'.'` `) ` ` ` `putchar` `(s[k]); ` ` ` `if` `(i < c) ` ` ` `b = c - i - 1; ` ` ` `else` ` ` `b = c - i; ` ` ` `if` `(b) ` ` ` `printf` `(` `"E%d"` `, b); ` `} ` ` ` `// main function ` `int` `main() ` `{ ` ` ` `char` `s[] = ` `"100"` `; ` ` ` `int` `n = ` `strlen` `(s); ` ` ` `FindExponent(s, n); ` `} ` |

*chevron_right*

*filter_none*

Output:

1E2

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.

## Recommended Posts:

- Convert Decimal To Hexa-Decimal including negative numbers
- Exponential Squaring (Fast Modulo Multiplication)
- Find the larger exponential among two exponentials
- Count of exponential paths in a Binary Tree
- Print all Exponential Levels of a Binary Tree
- Count number of digits after decimal on dividing a number
- Given a number N in decimal base, find number of its digits in any base (base b)
- Program to Convert BCD number into Decimal number
- Converting Decimal Number lying between 1 to 3999 to Roman Numerals
- 9's complement of a decimal number
- Number of decimal numbers of length k, that are strict monotone
- 10's Complement of a decimal number
- Check if Decimal representation of an Octal number is divisible by 7
- Number of digits before the decimal point in the division of two numbers
- Find the Nth digit from right in base B of the given number in Decimal base
- Given a number N in decimal base, find the sum of digits in any base B
- Convert a given Decimal number to its BCD representation
- Program to convert Hexa-Decimal Number to its equivalent BCD
- Convert given Decimal number into an irreducible Fraction
- Program to convert a BCD to Hexa-Decimal Number

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.