整型数据赋值给一个双精度型, 直接赋值就可以。
double number;
cin >> number;
输入 直接拍整数就可以了。
“这样的操作是不被赞同的”,这大概是指对古老的编译器。
或特殊情况,例如 128位整型 赋值给 128位 long double 精度丢失。
但你说的是 int (32位)和 double(64位)。
要注意的是 含运算 的 赋值, 例如 double number = 4/5;
4/5 会处理成 整型除以 整型 得 0, number = 4/5; 的结果 是0
写成: number = 4.0/5; 或 number = 4./5; 或 number = 4.0/5.0; 就没问题了。
果用户输入5,那么number就等于5.0。
变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable)的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。
这样吧,哥们给你举个例子
/*强制类型转换*/
int main()
{ int a=3,b=5;
double c=3.6;
b=a+(int)c; //使用强制类型转换,将c转换成int型运算
printf("%d\n",b);
return 0;
}
哥们只能帮到你这里了。