• 1181阅读
  • 10回复

[提问]Qt字符串转数字,小数位丢失 [复制链接]

上一主题 下一主题
离线whgdaniel
 

只看楼主 倒序阅读 楼主  发表于: 2022-04-06
初学Qt,字符串转数字,小数位丢失,很苦恼。官方帮助文档给出的例子,toFloat/toDouble,没有错,"1235.35"->1235.35,但如果数字再大点,转换后小数位自动进位,或没有了,比如:"3654123.23"->3654123.20,请大神指点,不胜感激!!!
离线garywlx

只看该作者 1楼 发表于: 2022-04-06
使用字符处理
离线whgdaniel

只看该作者 2楼 发表于: 2022-04-07
但是我需要转成数字进行运算啊?
离线fsu0413

只看该作者 3楼 发表于: 2022-04-07
float没那么大,用double
离线whgdaniel

只看该作者 4楼 发表于: 2022-04-08
回 fsu0413 的帖子
fsu0413:float没那么大,用double (2022-04-07 19:45) 

Double也不管用:
QString kStr = "654123.23";
double kDouble = kStr.toDouble();
qDebug()<<"kStr :"<<kStr;
qDebug()<<"kDouble :"<<kDouble;

kStr : "654123.23"
kDouble : 654123
小数位没了
离线zxwmail

只看该作者 5楼 发表于: 2022-04-08
也可能是qdebug的显示问题
离线whgdaniel

只看该作者 6楼 发表于: 2022-04-09
我想不会吧,运算后的数字我存入了Sqlite表中,查询表中结果跟显示的结果一样。
离线hitzsf

只看该作者 7楼 发表于: 2022-04-09
1.调试
2.qDebug("%f",kDouble);
离线hitzsf

只看该作者 8楼 发表于: 2022-04-09
离线whgdaniel

只看该作者 9楼 发表于: 2022-04-10
我还是上截图吧,字符串是"13629.38",转成Double后成了13629.4, 表查询的结果也是13629.4,自动进位了, 并不是我想要的结果。
离线tanyue.esec

只看该作者 10楼 发表于: 2022-04-11
感觉可以debug看下值是多少,按说double是足够了。
输出log和存库,可能都不好定位是在哪里把精度截断了。
快速回复
限100 字节
 
上一个 下一个