fork(2) download
  1. #include <iostream>
  2. #include <float.h>
  3. #include <string>
  4. #include <sstream>
  5. using namespace std;
  6.  
  7. inline double convertToDouble(std::string const& s)
  8. {
  9. std::istringstream i(s);
  10. double x;
  11. if (!(i >> x)){
  12. //throw BadConversion("convertToDouble(\"" + s + "\")");
  13. }
  14. return x;
  15. }
  16.  
  17. size_t jakDlugiDouble() {
  18. string sDouble = to_string(DBL_MAX);
  19. return sDouble.size();
  20. }
  21.  
  22.  
  23. double czyLiczba () {
  24. string sLiczba = "";
  25. cin >> sLiczba;
  26. if (sLiczba.size() > jakDlugiDouble()) {
  27. //throw TooLongNumber("convertToDouble(\"" + s + "\")");
  28. }
  29. return convertToDouble(sLiczba);
  30. }
  31.  
  32.  
  33. int main() {
  34. double liczba = czyLiczba();
  35. cout << liczba;
  36.  
  37. return 0;
  38. }
Success #stdin #stdout 0s 3436KB
stdin
1000000.2002
stdout
1e+06