【问题标题】:I convert Int to Float but the Id-Type doesn't change我将 Int 转换为 Float 但 Id-Type 没有改变
【发布时间】:2023-04-09 07:42:01
【问题描述】:

我将 int 转换为 float 并将 1.23 输入到 'a' 但输出为 1 怎么了?

int a = 123;
static_cast<float>(a);
cout << typeid(a).name(); //int

cin >> a; //1.23
cout << a;  //1


return 0;

【问题讨论】:

  • 您的代码获取 a 的值,将 a 的值转换为 float 而不会影响 a,然后将结果丢弃。这是完全没有意义的, a 是不变的。

标签: c++ type-conversion static-cast


【解决方案1】:

您必须将返回值分配给首选类型的变量:

float result = static_cast<float>(your_var);

【讨论】:

    猜你喜欢
    • 2016-03-12
    • 1970-01-01
    • 2019-11-03
    • 1970-01-01
    • 2016-01-27
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多