将私有矩阵形式int转换为double c ++

时间:2018-06-21 01:59:15

标签: c++

我想将私有成员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] ;
   }

1 个答案:

答案 0 :(得分:1)

由于您要输入浮点数并将其保存在matrix中,因此必须将matrix定义为floatdouble数组:

private:
  double matrix[10];

然后,您可以使用ceil来取整您的值。但是您必须保存或打印结果。可以使用

double ceilValue = ceil(matrix[i]);

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

由于您使用的是变量i,因此我假设您要打印或舍入matrix的每个值。因此,您需要像forwhile这样的循环:

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

在解决了这些问题以及注释中提到的错误之后,您的代码应该可以按预期工作。