为什么qvariant::fromvalue<qreal>(0.0108)的返回值变成0.0了
时间: 2023-12-10 14:40:27 浏览: 184
Qt中调用函数如何返回多个值的Qt文件
`qvariant::fromvalue` 函数用于将一个值转换为 QVariant 类型,其中 `<qreal>` 表示转换为浮点数类型。但是,当转换的值小于 `std::numeric_limits<qreal>::epsilon()` 的值时,会被认为是零,因此你传入的值 `0.0108` 小于这个极小值,所以被认为是零,返回值就是 0.0。
如果你想保留小数位数,可以将值转换为字符串,然后再转换为 QVariant 类型,例如:
```
QVariant value(QString::number(0.0108, 'f', 4)); // 转换为保留四位小数的字符串
qreal number = value.toReal(); // 转换为浮点数类型
```
阅读全文