为什么我无法将字符串转换为double?

时间:2017-07-11 17:46:11

标签: c++

我编写了以下代码,将字符串转换为double。

 #include<iostream>
 #include<stdlib.h>
 using namespace std;

 main()
 {
     char a[] = "13.45";
     double result; //output variable must be of 'double' type

     cout<<"Value before conversion is "<<a<<endl;

     result = atof(a);

     cout<<"Value after conversion is "<<result<<endl;
 }

问题是无论我为“a”声明什么值,答案总是与输入值相同。

注意:我确实阅读了与同一主题相关的所有问题,但没有一个给我一些解决我的代码的线索。

1 个答案:

答案 0 :(得分:0)

答案不一样。 字符串“13.45”和浮动值13.45将以相同的方式显示。如果要确认结果是否保持浮点值,请尝试打印结果+ 1而不是结果,它将表现得像普通浮点数。