作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试阅读 3 个花车。我尝试使用 float 和 double 来执行此操作,但两者的行为相同。
输入示例:
3 1 2
32.0 54.7 -2
第一行3个整数,第二行3个 float :
我的阅读方式:
vector<int> order;
vector<double> numbers;
unsigned int order_number;
double number;
char input_character;
while (true)
{
scanf("%d", &order_number);
order.push_back(order_number);
scanf("%c", &input_character);
if (input_character == ' ')
continue;
else
break;
}
while (true)
{
scanf("%lf", &number);
numbers.push_back(number);
scanf("%c", &input_character);
if (input_character == ' ')
continue;
else
break;
}
printf("%d %d %d\n", order[0], order[1], order[2]);
printf("%lf %lf %lf\n", numbers[0], numbers[1], numbers[2]);
打印它们时,我得到:
32.000000 54.700000 -2.000000
我只想要 32.0
、54.7
和 -2
。我知道我可以使用 %.x
指定要打印的小数位数,但我需要打印输入中给我的小数位数。
此外,还有那些 while (true)
循环,因为我不知道我会得到多少个数字。
最佳答案
普通浮点类型无法满足您的需求。如果要打印与输入具有相同小数位数的数字,则必须:
关于c++ - 程序正在读取太多的小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15187701/
我是一名优秀的程序员,十分优秀!