首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包含前导零的输入

包含前导零的输入
EN

Stack Overflow用户
提问于 2012-06-27 13:48:07
回答 3查看 3.1K关注 0票数 1

在c++中,如果我们输入一个包含前导零的整数,它们是否会出错。

例如:

代码语言:javascript
复制
 int a;
 cin>>a;

我们给出一个输入00或01。

或者在字符串的帮助下输入是一个更好的想法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-27 13:52:20

整数(或浮点数)没有前导零。如果您想保留前导零,那么您必须将输入作为字符串读取,并在需要时将其转换为数字。或者,您可以在打印结果时使用格式添加前导零。

票数 4
EN

Stack Overflow用户

发布于 2012-06-27 15:05:03

如果我们输入一个包含前导零的整数,c++中的

会出现任何错误。

您可能得不到预期的结果,这取决于输入流的格式标志的设置。默认情况下,期望用户输入始终为十进制。前导零不起作用。如果我们通过调用std::cin.unsetf()来关闭它会怎么样

代码语言:javascript
复制
int main () {
  int i;
  std::cin.unsetf (std::ios::dec);
  while (std::cin >> ii) {
    std::cout << i << "\n";
  }
}

如果输入25,则输出为25,但如果输入025,则输出为21。这是因为C++现在将输入上的前导零解释为八进制(如果是前导0x或前导0x,则为十六进制)。

票数 3
EN

Stack Overflow用户

发布于 2012-06-27 14:36:15

前导零将被修剪掉。它不会存储在内存中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11220129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档