1、保留小数位
double a = 3.145980; stringstream s; s.setf(ios::fixed); s.precision(3); s << a; // s = 3.146 有四舍五入 double c = atof(s.str().c_str());
2、小数转字符串并去除多余的0
double a = 1.101; string ss = to_string(a); // s = 1.101000 stringstream s; s.unsetf(ios::showpoint); //把unsetf换成setf,则会显示小数点后多余的0 s << a; ss = s.str(); // ss = 1.101