How to convert float vector to int vector in C++

2 Answers

0 votes
#include <iostream>
#include <vector>

int main() {
    std::vector<double> v = {123.988, -3.14, 51.123499, 0.15, 0.0000134, 200};
    std::vector<int> ivec;

    ivec.reserve(v.size());
    for (const auto &f : v) {
        ivec.push_back((int)f);
    }

    for (const auto &i : ivec) {
        std::cout << i << " ";
    }
    
    return 0;
}
 
 
 
 
/*
run:
 
123 -3 51 0 0 200 
 
*/

 



answered May 17, 2021 by avibootz
0 votes
#include <iostream>
#include <vector>

int main() {
    std::vector<double> v = {123.988, -3.14, 51.123499, 0.15, 0.0000134, 200};
    std::vector<int> ivec;

    ivec.reserve(v.size());
    for (const auto &f : v) {
        ivec.push_back(static_cast<int>(f));
    }

    for (const auto &i : ivec) {
        std::cout << i << " ";
    }
    
    return 0;
}
 
 
 
 
/*
run:
 
123 -3 51 0 0 200 
 
*/

 



answered May 17, 2021 by avibootz

Related questions

2 answers 150 views
150 views asked May 17, 2021 by avibootz
1 answer 89 views
1 answer 82 views
82 views asked Sep 22, 2022 by avibootz
1 answer 74 views
1 answer 152 views
1 answer 96 views
96 views asked Feb 17, 2019 by avibootz
...