首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

问个关于强制类型转换符的有关问题

2012-02-23 
问个关于强制类型转换符的问题.下面是我写的测试程序:#includeiostream#includeiomanipusingstd::cin

问个关于强制类型转换符的问题.
下面是我写的测试程序:
#include   <iostream>
#include   <iomanip>
using   std::cin;
using   std::cout;
using   std::endl;
using   std::fixed;
using   std::setprecision;
int   main   (void)
{
int   a   =   257   ,b   =   3   ,   c   =   0;
        c   =   static_cast   <   double   >   (a)/b;
cout   < <   setprecision(   2   )   < <   fixed   < <   c   < <   endl;
cin.get();
return   0;
}
本来答案应该是:85.67的.
但是我的答案还是85
请问错在哪里呢?怎么类型没有被转换呢?
谢谢!!

[解决办法]
static_cast < double > (a)/b;
这个表达式本来是double型的。
可惜忙活了半天最后又把它赋给了一个整形变量,差不多前功尽弃了。
[解决办法]
double c = static_cast < double > (a)/b; //要声明c为double型的
cout < <c < <endl;



[解决办法]
int a = 257 ,b = 3 ;
cout < < setprecision( 2 ) < < fixed < < static_cast < double > (a)/b < < endl;
[解决办法]
^_^ 这种错确实很 建议自己多检查下程序

热点排行