//%演算子をdouble型に対応させた関数 //left:割られる数 right:割る数(正数) //戻り値:余り(正数) //注意! 割る数に負数を指定した場合はその絶対値で計算します double modulo(double left,double right) { if(right<0) right=-right; if(left>0){ while(left-right>=0){ left-=right; } }else if(left<0){ do{ left+=right; }while(left<0); } return left; } // 359%360=359 // 360%360=0 // 361%360=1 //-359%360=1 //-360%360=0 //-361%360=359 // 0%360=0 // -0%360=0 // -1%360=359 // 360.123%360=0.123 //-360.123%360=359.877