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

判断输入小数的位数

2012-04-03 
高手请进判断输入小数的位数intmain(){floatascanf( %d ,&a)if(a*100(int)(a*100))printf( 2digits\

高手请进 判断输入小数的位数
int   main()
{
float   a;
scanf( "%d ",&a)
if(a*100==(int)(a*100))
          printf( "2   digits\n ");
else
      return   0;
}

我想限定输入的小数不大于两位,但输入0.01等两位小数都会跳到return   0;
a*100==(int)(a*100)为什么不行?
还有其他办法吗?求教

[解决办法]
scanf( "%f ",&a)
[解决办法]
用string类型接收,然后判断小数点后面的字符不超过2个~
[解决办法]
你输入的float有精度问题,即使你输入0.02,但计算机赋值不是单单的就把0.02给了a,后面一般还有数字,a*100就是一个带小数的浮点数,怎么能与一个int值相等
[解决办法]


a*100 > (float)(int)(a*100) && a > 0

热点排行