本文介绍了从十进制到字符串的类型转换的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

double var1 = 123789456.785;
double var2 = 123789457.898;
double subtr = var2-var1;
qDebug()<<"Diff=>"<<subtr<<"Var1=>"<<var1<<"Var2=>"<<var2;

//Converting double to QString
QString str1 = QString::number(var1);
QString str2 = QString::number(var2);

//String to doubel
double newVar1= str1.toDouble();
double newVar2= str2.toDouble();
double subtrNew = newVar2-newVar1;
qDebug()<<"New Diff=>"<<subtrNew<<"New Var1=>"<<newVar1<<"New Var2=>"<<newVar2;





输出是这个



Output is this

Diff=> 1.113 Var1=> 1.23789e+08 Var2=> 1.23789e+08
New Diff=> 0 New Var1=> 1.23789e+08 New Var2=> 1.23789e+08





因此,在从双字符串转换为字符串而不是从字符串返回到双倍之后,我失去了1.113的差异。在类型转换后它变为0.如何解决这个问题。专家意见是必需的。请。



So after typecasting from Double to string than back from string to double i lost the difference which is 1.113. after type casting it becomes 0. how to tackle this issue. experts opinion is required. please.

推荐答案



这篇关于从十进制到字符串的类型转换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 17:38