【发布时间】:2020-12-17 15:53:31
【问题描述】:
我想从一个双精度数中删除所有尾随零。我知道我可以使用std::setprecision() 来打印它,但我想修改实际数字,使其仅在小数点后两位数。
class Circle {
private:
double r, PI = 3.14159;
public:
Circle(double r) {
this->r = r;
}
double area() {
return PI * r * r;
}
double circumference() {
return 2 * PI * r;
}
double getRadius() {
return r;
}
string toString() {
string str;
str += "Circle{radius=" + to_string((r)) + "}";
return str;
}
};
从twoString() 函数中,我只想将半径返回到两位十进制数字,但是,在通过 2.5 后,我得到了“Circle{radius=2.500000}”,同样,对于 4,我得到了“Circle{radius” =4.000000}”。我希望这里只有 4 个。
【问题讨论】:
-
如果您想要“固定”精度,我会考虑使用
int,只需将其乘以 100。
标签: c++ string class double precision