我有一个 vector
vector<float>v = {-0.2f, 1.4f, -6.5f};
我喜欢它被转换成
v = {-1, 1, -1};
逻辑是:对于每个元素,如果小于0,则设置为-1,如果等于0,则设置为0,如果大于0,则设置为1。
最佳答案
您可以使用 std::transform
进行比较并相应地替换元素。
std::transform(v.begin(), v.end(), v.begin(), [](float f)
{
return f == 0 ? 0 : (f < 0 ? -1 : 1);
});
关于c++ - vector float 到整数/符号的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49907294/