#include <iostream>
#include <iomanip>
#include <sstream>
int main( ) {
std:: string data = "3.236568949" ;
std:: stringstream ss( data) ;
long double ld;
ss >> ld;
std:: cout << "Size (in bytes) of a double: " << sizeof ( double )
<< " while a long double: " << sizeof ( long double ) << '\n '
<< "Original string: " << data << '\n '
<< "Converted number:\n " << std:: setprecision ( 10 ) << ld << '\n '
<< "Same number, but with more outputted decimal figures:\n "
<< std:: setprecision ( 100 ) << ld << '\n ' ;
std:: cout << "\n Now let's try to limit the precision.\n " ;
std:: stringstream ss2;
long double ld2;
ss2 << std:: setprecision ( 4 ) << ld;
ss2 >> ld2;
std:: cout << "Converted number:\n " << std:: setprecision ( 10 ) << ld2 << '\n '
<< "Same number, but with more outputted decimal figures:\n "
<< std:: setprecision ( 100 ) << ld2 << '\n ' ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPHNzdHJlYW0+CgppbnQgbWFpbigpIHsKCXN0ZDo6c3RyaW5nIGRhdGEgPSAiMy4yMzY1Njg5NDkiOwogICAgc3RkOjpzdHJpbmdzdHJlYW0gc3MoZGF0YSk7CiAgICBsb25nIGRvdWJsZSBsZDsKICAgIHNzID4+IGxkOwogICAgCiAgICBzdGQ6OmNvdXQgPDwgIlNpemUgKGluIGJ5dGVzKSBvZiBhIGRvdWJsZTogIiA8PCBzaXplb2YoZG91YmxlKQogICAgICAgICAgICAgIDw8ICIgd2hpbGUgYSBsb25nIGRvdWJsZTogIiA8PCBzaXplb2YobG9uZyBkb3VibGUpIDw8ICdcbicKICAgICAgICAgICAgICA8PCAiT3JpZ2luYWwgc3RyaW5nOiAiIDw8IGRhdGEgPDwgJ1xuJwogICAgICAgICAgICAgIDw8ICJDb252ZXJ0ZWQgbnVtYmVyOlxuIiA8PCBzdGQ6OnNldHByZWNpc2lvbigxMCkgPDwgbGQgPDwgJ1xuJwogICAgICAgICAgICAgIDw8ICJTYW1lIG51bWJlciwgYnV0IHdpdGggbW9yZSBvdXRwdXR0ZWQgZGVjaW1hbCBmaWd1cmVzOlxuIgogICAgICAgICAgICAgIDw8IHN0ZDo6c2V0cHJlY2lzaW9uKDEwMCkgPDwgbGQgPDwgJ1xuJzsKICAgICAgICAgICAgICAKICAgIHN0ZDo6Y291dCA8PCAiXG5Ob3cgbGV0J3MgdHJ5IHRvIGxpbWl0IHRoZSBwcmVjaXNpb24uXG4iOwogICAgCiAgICBzdGQ6OnN0cmluZ3N0cmVhbSBzczI7CiAgICBsb25nIGRvdWJsZSBsZDI7CiAgICBzczIgPDwgc3RkOjpzZXRwcmVjaXNpb24oNCkgPDwgbGQ7CglzczIgPj4gbGQyOwogICAgc3RkOjpjb3V0IDw8ICJDb252ZXJ0ZWQgbnVtYmVyOlxuIiA8PCBzdGQ6OnNldHByZWNpc2lvbigxMCkgPDwgbGQyIDw8ICdcbicKICAgICAgICAgICAgICA8PCAiU2FtZSBudW1iZXIsIGJ1dCB3aXRoIG1vcmUgb3V0cHV0dGVkIGRlY2ltYWwgZmlndXJlczpcbiIKICAgICAgICAgICAgICA8PCBzdGQ6OnNldHByZWNpc2lvbigxMDApIDw8IGxkMiA8PCAnXG4nOwogICAgICAgICAgICAgIAoJcmV0dXJuIDA7Cn0=