寻找 QT 函数将 qint64 类型的变量(整数)四舍五入到最接近的十
我正在寻找一个 QT 函数来将 qint64 类型的变量(整数)四舍五入到最接近的十。
例如: 1013 将四舍五入为 1010。 1019 将舍入为 1020
QT Assistant 似乎没有列出任何可以执行此操作的内置函数,但我可能找错了地方。
任何帮助将不胜感激。
谢谢, 韦斯
I'm looking for a QT function to round a variable (integer) of type qint64 to the nearest ten.
For example:
1013 would round to 1010.
1019 would round to 1020
QT Assistant doesn't seem to list any built in functions that would do this, but I could be looking in the wrong spot.
Any help would be appreciated.
Thanks,
Wes
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对于正数,您可以尝试这个老技巧,将负数的 + 替换为 - :
You may try this old trick for positive numbers, replace + with - for negative:
使用整数(截断)数学来执行此操作的正常方法是
10*((n+5)/10)
。当然,这是一个正数。对于负数,加上负数 5。因此,公式实际上是
...+sign(n)*5
,其中,sign 根据数字的符号返回 -1、0 或 1。The normal way to do this with integer (truncating) math is
10*((n+5)/10)
. That is for a positive number, of course.For negative, add negative 5. So the formula is really
…+sign(n)*5
where sign returns -1, 0, or 1 depending on the sign of the number.我对 QT 不是很熟悉,但是
它有什么用吗?
ps:如果 value 是整数,则在除法之前可能需要将其转换为 double。
I'm not a very familiar with QT but what about
does it work?
p.s: if value is integer, it may need to be converted to double before division.