What does this symbol mean and how to convert 2.8147498e+14 to a number like 586456852156211 ,how to convert ?
1 Like
Number 2.8147498e+14; is written in scientific notation which is equal to 2.8147498*(10^14);
use this
#include <bits/stdc++.h>
#include <string>
double conversion(double counts)
{
double d=0.0;
std::ostringstream ss;
ss.precision(1);
ss << std::fixed << counts;
std::string::size_type sz; // alias of size_t
d = std::stod (ss.str(),&sz);
std::cout << ss.str() << " MeV";
return d;
}
int main()
{
double k=2.8147498e+14;
float d;
d=conversion(k);
int exponent = (int)log10(fabs(d));
double mantissa = d / pow(10, exponent);
printf("%f X 10^%d\n", mantissa, exponent);
}
or you can use
#include <iostream> // std::cout, std::fixed, std::scientific
int main () {
double a = 3.1415926534;
double b = 2006.0;
double c = 1.0e-10;
std::cout.precision(5);
std::cout << "default:\n";
std::cout << a << '\n' << b << '\n' << c << '\n';
std::cout << '\n';
std::cout << "fixed:\n" << std::fixed;
std::cout << a << '\n' << b << '\n' << c << '\n';
std::cout << '\n';
std::cout << "scientific:\n" << std::scientific;
std::cout << a << '\n' << b << '\n' << c << '\n';
return 0;
}
1 Like