我编写了以下代码,将字符串转换为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”声明什么值,答案总是与输入值相同。
注意:我确实阅读了与同一主题相关的所有问题,但没有一个给我一些解决我的代码的线索。
答案 0 :(得分:0)
答案不一样。 字符串“13.45”和浮动值13.45将以相同的方式显示。如果要确认结果是否保持浮点值,请尝试打印结果+ 1而不是结果,它将表现得像普通浮点数。