向浮点数输入一个非数字值

input a non-numeric value to a float

本文关键字:一个 数字 浮点数 输入      更新时间:2023-10-16

我有这个简单的代码,我输入值到两个浮动变量,他们得到显示。我不能理解的是,如果我给我的输入是非数字会发生什么。就像我输入'a'(没有' ')一样,会生成一个奇怪的数字- 2.69525+0323.21398e=039。这个数字是如何以及为什么产生的?

#include<iostream.h>
int main()
{
    float x,y;
    cin>>x>>y;
    cout<<x<<y;
    return 0;
}

另外,如何阻止某人输入非数字值?我想将数字存储在一个数组中,通过它迭代并使用isdigit(),也可以查看小数点是否出现,它应该只出现一次,但这似乎不是一个很好的方法。有更好的方法吗?

- 2.69525+0323.21398e=039实际上是两个没有空格的奇数。

它们很可能是x &从y开始。cin失效,所以它们没有变化。

如何阻止某人输入非数字值?

    对他们大喊大叫,威胁不给甜点。-或-
  • 将值导入为字符串,验证为数字,然后将其转换为浮点数。