首页 > 解决方案 > 将私有矩阵形式 int 转换为 double c++

问题描述

我想将私有成员矩阵 [] 从 int 转换为 double ,我尝试使用函数 transform() 进行转换?当我输入值时。matrix[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] ;
   }

标签: c++

解决方案


由于您尝试输入浮点数并将它们保存在 中matrix,因此您必须定义matrixfloatdouble数组:

private:
  double matrix[10];

然后你可以ceil用来四舍五入你的价值观。但是您必须保存或打印结果。要么使用

double ceilValue = ceil(matrix[i]);

或者

std::cout << ceil(matrix[i]);

由于您使用的是变量i,我假设您要打印或四舍五入matrix. 因此,您需要一个类似foror的循环while

for (int i(0); i < 10; i++) {
  std::cout << ceil(matrix[i]);
}

在您修复了这些点和注释中提到的错误之后,您的代码应该可以按预期工作。


推荐阅读