- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试从字符串中提取数字。我想将每个数字保存到一个单独的双变量中。我目前尝试使用像这样的简单字符串流。
std::string line = "100.2456426246\200.2624362436\300.136213477347";
std::stringstream stream(line);
stream.precision(20);
double a,b,c;
stream >> a >> b >> c;
不仅精度不对(只打印出6位),而且只提取了第一个数a(100.245),b和c为null。我怀疑这是由于反斜杠引起的,但我不确定。
读取每个数字之间包含反斜杠的字符串并以正确的精度存储整个数字的最佳方法是什么?
最佳答案
您可以使用带有定界符的 getline
将字符串拆分为元素 vector ,并使用 atof
沿着这些行提取 float
vector<string> elems;
stringstream stream(line);
string item;
while (getline(stream, item, "\\")) {
elems.push_back(item);
}
vector<float> val(elems.size());
...
val[i]=atof(elems[i].c_str())
这里的精度更多的是表现形式,您可以在 setprecision
的帮助下自定义。例如,
#include <iomanip>
...
cerr << setprecision(6) << val[i] << endl;
将截断输出为六位有效数字。
另一件事是确保存储直到最后一位的所有数字。为了确保存储所有数字,您定义的 float 的大小必须足够大以包含您的数据,并且 atof
可能需要被适当的解析器替换,如果 float 应该被替换为 double
或其他东西。
关于c++如何从具有反斜杠的字符串中提取数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34755648/
我有一个右下角倾斜的元素,我必须在其上放置一个盒子阴影。有时倾斜的 Angular 被徽章覆盖 - 我的问题不适用,如果是这样的话: 这是信息框及其边 Angular 的 (s)css 部分(还有更多
是否可以在纯 html/css 中创建类似下面的内容? 我想做这个响应式和全 (100%) 宽度(最大左 Angular 100 像素,右边最小 50 像素,类似的东西)。 最佳答案 您可以通过转换(
如何在 fabricjs 文本中为文本提供渐变或斜 Angular 效果?? http://fabricjs.com/fabric-intro-part-2/ 这里给出了形状和所有示例,我将其与文本绑
我用过: http://apps.eky.hk/css-triangle-generator/ 为彼此对 Angular 放置的两个不等边三 Angular 形生成 css: 左下三 Angular
我是一名优秀的程序员,十分优秀!