DEV Community

Cover image for Truncate Decimals Manually in Java
Edwin Torres
Edwin Torres

Posted on • Edited on

4 1

Truncate Decimals Manually in Java

Given a floating-point number 100.899456, how would you truncate it to just two decimals?

In other words, how would you convert that number to 100.89?

You can do this in Java without using a function call. Here’s the algorithm:

  1. Multiply the original number by 100 to move the decimal point to the right two places.
  2. Cast the result to an integer to remove the remaining decimal places.
  3. Divide the result by 100.0 to move the decimal point back to the left two places.

Here’s the full code:

public class Main {  
  public static void main(String args[]) { 
    double x = 100.899456;
    double y = (int) (x * 100) / 100.0;
    System.out.println("before: " + x);
    System.out.println("after:  " + y);
  } 
}
Enter fullscreen mode Exit fullscreen mode

And here’s the output:

before: 100.899456
after:  100.89
Enter fullscreen mode Exit fullscreen mode

Thanks for reading! 😀

Follow me on Twitter @realEdwinTorres for more programming tips and help.

Top comments (0)

Great read:

Is it Time to go Back to the Monolith?

History repeats itself. Everything old is new again and I’ve been around long enough to see ideas discarded, rediscovered and return triumphantly to overtake the fad. In recent years SQL has made a tremendous comeback from the dead. We love relational databases all over again. I think the Monolith will have its space odyssey moment again. Microservices and serverless are trends pushed by the cloud vendors, designed to sell us more cloud computing resources.

Microservices make very little sense financially for most use cases. Yes, they can ramp down. But when they scale up, they pay the costs in dividends. The increased observability costs alone line the pockets of the “big cloud” vendors.