请问一下,在下面这个例子中class RemainderOperation{
   public static void main(String[] args){
        System.out.println("13 % 10的取余数运算结果是"+13%10);
        System.out.println("13.25 % 10的取余数运算结果是"+13.25%10);
        System.out.println("13.38 % 10的取余数运算结果是"+13.38%10);
        
   }
}
系统也没报错13 % 10的取余数运算结果是3
13.25 % 10的取余数运算结果是3.25
13.38 % 10的取余数运算结果是3.380000000000001  很怪异的结果哦我查了一下C和C++语法规定是不能在 /,和%的运算中有浮点数的,只能是整数。那JAVA中呢?

解决方案 »

  1.   

    3.380000000000001
    这个叫逐渐下溢,建议看IEEE754-854标准关于float的定义(C++/JAVA里的float都是这个标准),
    照你这个程序,大概JAVA里是可以的吧,浮点数%运算
      

  2.   

    是的,能通过,另外有个人这么回答我:
    有什么奇怪的呢?
    “允许”与“不允许”都只是从SE的角度考虑的。
    要实现对浮点数取模在技术上显然没有任何难度。SE是个什么东东?
      

  3.   

    坐下好好学习中...
    -------------------------------------------------------------------------
    您好,网美书店全场5折-8.8折,深圳东莞所有地区送书上门(免配送费),书到付款!网美书店网址:http://www.wanme.com咨询QQ:  419777139