gpt4 book ai didi

C++ 浮点到整数类型的转换

转载 作者:IT老高 更新时间:2023-10-28 12:52:10 25 4
gpt4 key购买 nike

在 C++ 中将浮点类型的数据转换为整数有哪些不同的技术?

#include <iostream>

using namespace std;
struct database {
int id, age;
float salary;
};

int main() {
struct database employee;
employee.id = 1;
employee.age = 23;
employee.salary = 45678.90;
/*
How can i print this value as an integer
(with out changing the salary data type in the declaration part) ?
*/
cout << endl << employee.id << endl << employee.
age << endl << employee.salary << endl;
return 0;
}

最佳答案

您正在寻找的是“类型转换”。类型转换(将你想要的类型知道放在括号中)告诉编译器你知道你在做什么并且很酷。从C继承的旧方式如下。

float var_a = 9.99;
int var_b = (int)var_a;

如果你只是尝试写作

int var_b = var_a;

您会收到一条警告,提示您不能将 float 隐式(自动)转换为 int,因为您会丢失小数点。

这被称为旧方法,因为 C++ 提供了一种更好的替代方法,即“静态转换”;这提供了一种从一种类型转换为另一种类型的更安全的方法。等效的方法是(以及你应该这样做的方式)

float var_x = 9.99;
int var_y = static_cast<int>(var_x);

此方法可能看起来有点冗长,但它可以更好地处理诸如意外请求对无法转换的类型进行“静态转换”等情况。有关为什么应该使用静态转换的更多信息,请参阅 this question .

关于C++ 浮点到整数类型的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2544394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com