【发布时间】:2012-12-04 09:31:34
【问题描述】:
给定以下代码:
istringstream i("2.11099999999999999999");
double d;
if (!(i >> d)) {d = 0;}
cout << d << endl;
输出为 2.111 。
我希望能够处理长数字、浮点数(包括浮点数),但是当我将 istringstream 转换为 double 时,我得到一个四舍五入的数字。
我怎样才能防止这种情况发生?如何保持给定的输入原样?
问候
【问题讨论】:
标签: c++ string stringstream istringstream