今天突然才知道java里有个strictfp关键字,网上查阅了下资料,

了解了strictfp的意思是FP-strict,也就是说精确浮点的意思.当一个class或interface用strictfp声明,内部所有的float和double表达式都会成为strictfp的,符合IEEE-754规范.

还说如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,那就请用关键字strictfp.

但我试验了一下,即使给类加了strictfp关键字,还是得不到精确结果啊..

代码如下:
public strictfp class TestStrictfp {

    
/**
     * 
@param args
     
*/


    
public static void main(String[] args) {

        
float a = (float1.03;
        
float b = (float) .42;
        
        
double c = 1.03;
        
double d = .42;
        
        System.out.println(a 
* b);
        System.out.println(c 
- d);
        
    }


}

请问strictfp关键字到底用在什么地方呢?最好给个实例哈~



what the hell is going on ??!!