Amazon Interview Question
Software Engineer / Developerslong beforeDP = d/1;
double afterDP = d - beforeDP;
StringBuffer sb = new StringBuffer();
if(beforeDP < 1) sb.append(0);
while(beforeDP > 1)
{
long l = beforeDP % 10;
beforeDP /= 10;
sb.append(l);
}
sb.append('.');
long l = afterDP * 10;
while(l != 0)
{
sb.append(l);
afterDP *= 10.0;
afterDP -= l;
l = afterDP * 10;
}
System.out.println(sb);
- snowbeard January 11, 2010