【发布时间】:2014-09-08 11:31:44
【问题描述】:
如何将整数转换为双精度?我有这段代码,它的结果是15,而不是15.45,这是因为程序将第一个数字作为结果的类型,在这个程序中是整数
#include <iostream>
using namespace std;
template < class T1 , class T2 >
T1 smaller ( T1 a, T2 b ){
return (a<b?a:b);
}
int main(){
int x = 98;
double y = 15.45;
cout << smaller( x , y ) << endl;
return 0;
}
【问题讨论】:
-
您的问题是什么?你有什么问题?
-
嗯,
15和15.34都不是正确的结果。正确的结果是15.45。 -
我写错了数字,不是程序的结果是 15 而不是 15.45
-
@T.C.这应该作为答案发布(并注意它需要 C++11,并且没有 C++11,Antonio 的回应是你能做的最好的)。
标签: c++ templates integer double