我正面临一个转换问题,希望得到您的帮助。我正在使用 gcc4 编译器,但我只能使用 gcc4。
我想将 std::string 转换为双精度。
std::string aQuantity = aRate.getQuantity();
std::string aAmount = aRate.getAmount();
// aAmount = "22.05"
double dQuantity = boost::lexical_cast<double>(aQuantity);
double dAmount = boost::lexical_cast<double> (aAmount);
// dAmount = 22.050000000000001
顺便说一句,我也试过了atof
,我仍然有同样的问题。有没有办法使用istringstream
withsetprecission(2)
来获得由 显示的正确值aAmount
?