public String div( int dividend, int divisor, int scale )
{
int point = String.valueOf (dividend / divisor ).length();
StringBuffer res = new StringBuffer();
int origion_divisor = divisor;
while ( dividend != 0 && scale + point > 0 ) {
int quotient = 9;
while ( 9 * divisor < dividend )
divisor *= 10;
while ( quotient * divisor > dividend )
quotient--;
dividend -= quotient * divisor;
res.append( quotient );
scale--;
dividend *= 10;
divisor = origion_divisor;
}
res.insert( point, "." );
return res.toString();
}
1,3,20 返回:0.33333333333333333333