title: Printing first 3 decimal places without rounding
body: <p>Okay, I know there is a question quite similar already, but it didn't quite answer my question. Please let me know if I'm doing something wrong though.</p>
  
  <p>I have written a program that gets a temperature in Fahrenheit from the user and converts it to Celcius. It looks like this:</p>
  
  <pre><code>import java.util.Scanner;
  
  public class FahrenheitToCelcius {
  
      public static void main(String[] args) {
  
          double fahrenheit;
          Scanner sc = new Scanner(System.in);
  
          System.out.print("Please enter a temperature in Fahrenheit: ");
  
          fahrenheit = sc.nextDouble();  
          double celcius = (fahrenheit - 32) * 5 / 9;
  
          String num = String.format("%.3f", celcius);
  
          System.out.println(" ");
          System.out.println(fahrenheit + "F" + " is " + num + "C");
      } 
  }
  </code></pre>
  
  <p>When it prints the answer out, I want only the first 3 decimal places printed, but not rounded. For example, if the input is <code>100F</code>, I want <code>37.777C</code> printed, <strong>not</strong> <code>37.778C</code>.</p>
  
  <p>I have tried using <code>DecimalFormat</code> and <code>String.format</code> (like above), but both methods print out <code>37.778C</code>. Is there a better way to do this?</p>
  
  <p>Thank you for your answers, and I apologise if this is a duplicate.</p>