Προς το περιεχόμενο

java και ακρίβεια δεκαδικών


cyber_katsarida

Προτεινόμενες αναρτήσεις

Δημοσ.

κάνω κάτι πράξεις και θέλω να διατηρώ 3 δεκαδικά στους υπολογισμούς.

εκτός από το

>System.out.format("%.3f",i);

υπάρχει άλλος καλύτερος τρόπος;

συνήθως τι χρησιμοποιούνε;

Δημοσ.

μπορείς να το κάνεις έτσι

 

>
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;

public class TestDemicals {

   public TestDemicals() {
   	double value=12345.195666;
       NumberFormat nf = NumberFormat.getNumberInstance(Locale.US);
       DecimalFormat df = (DecimalFormat) nf;
       df.applyPattern("#0.000");
       System.out.println(df.format(value));
   }
   public static void main(String args[]){
   	new TestDemicals();
   }
   
}

Δημοσ.

Καταρχήν αυτά που περιγράφονται είναι απλοί τρόποι εκτύπωσης, όχι τρόποι για να «διατηρείς 3 δεκαδικά στους υπολογισμούς» όπως αναφέρεις.

 

Αν όντως θέλεις αν στρογγυλοποιήσεις έναν αριθμό στα 3 δεκαδικά χρειάζεσαι κάτι σαν:

 

>
double d = (double)Math.round(value * 1000) / 1000

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...