我想将私有成员matrix []从int转换为double,我试图通过使用transform()函数将其转换?当我输入值 例如矩阵[i] = 90.9 它不会对值进行上限,也不会对其进行转换,哪里出了问题?
谢谢。
class A
{
private : int matrix[10];
public:
A();
void inputMatrix();
void transformMatrix();
};
void A::inputMatrix()
{
for(int i=0; i<10 ; i++)
cin>>matrix[i];
}
void A::transform()
{
ceil(matrix[i]);
double matrix = static_cast<double>(matrix[i]);
cout << matrix[i] ;
}
答案 0 :(得分:1)
由于您要输入浮点数并将其保存在matrix
中,因此必须将matrix
定义为float
或double
数组:
private:
double matrix[10];
然后,您可以使用ceil
来取整您的值。但是您必须保存或打印结果。可以使用
double ceilValue = ceil(matrix[i]);
或
std::cout << ceil(matrix[i]);
由于您使用的是变量i
,因此我假设您要打印或舍入matrix
的每个值。因此,您需要像for
或while
这样的循环:
for (int i(0); i < 10; i++) {
std::cout << ceil(matrix[i]);
}
在解决了这些问题以及注释中提到的错误之后,您的代码应该可以按预期工作。