比如 
float aa=100
打印出来的时候经常会表现为99.99 但有时又是100。00
我如何能保证每次的值都是100.00呢

解决方案 »

  1.   

    float aa=100.0
      

  2.   

    第一, ceil(aa);
    第二, %.2f来格式化。
      

  3.   

    float aa=100.00
    printf("%.2f",aa);来格式化打印
      

  4.   


    有这样子的事情么??
    一般会出来的是99.99999(多少个9记忆不清了)
    反正,输出浮点数,确定精度是没有问题的啦参照:
    printf的%f格式说明符不是用于float的,是用于double的!!printf是没有float的格式说明符的,在可变参数中填入的float,在入栈前都会被提升为double。而%lf中的l被忽略,行为与%f一样。 printf的这些行为跟scanf是不同的,scanf中的%f才是用于float的,%lf用于double。这是两者的区别。