2010-03-22 4 views
1

je veux tronquer un nombre décimal par un après construit en fonctionjava (pas javascript). par exemple: 69,80000000001 à 69,8nombre tronquer après la virgule ... par fonction intégrée en java

s'il vous plaît guider.

+0

Tronqué ou rond? –

+1

Truncate/Round ont la malheureuse propriété de ne pas pouvoir produire le nombre 69.8 en sortie. Ils vont probablement vous donner 69,7999999999999971578290569595992565155029296875, ce qui est proche. –

+0

tronqué arrondi. parce que je veux 69.8001 en 69.8 pas en 70. – sadia

Répondre

2

Qu'en est-il de la classe Decimal Format?

Je ne l'ai pas testé, mais: D'accord, ce travail devrait:

import java.text.DecimalFormat; 
import java.math.RoundingMode; 
public class Test 
{ 
    public static void main(String args[]) 
    { 
     double i = 69.8999999999; 
     DecimalFormat format = new DecimalFormat("#.#"); 
     format.setRoundingMode(RoundingMode.FLOOR); 
     String s = format.format(i); 
     i = Double.parseDouble(s); 
     System.out.println(i); //should be 69.8 
    } 
} 
+0

il ne fonctionne pas dans JCreator (java programmation enviorment). dois-je inclure un fichier d'en-tête? ou autre chose. – sadia

+0

visages tristes! :( pas workoing. – sadia

+0

Il y a quelques déclarations d'importation nécessaires. J'ai modifié ma première réponse, je l'espère cela aide. –

1

Vous pouvez utiliser la fonctionnalité d'échelle de BigDecimal:

new BigDecimal(69.80000000001).setScale(1, RoundingMode.HALF_UP).doubleValue(); 

Ceci est pour plus en utilisant la valeur arrondie. Si vous voulez simplement imprimer la valeur arrondie mais conserver l'original, DecimalFormat est le bon choix tel que décrit par Matt.

+0

! Il donne des erreurs WHN je l'applique dans mon programme est-il un fichier d'en-tête requis avant de le faire ????? – sadia

+0

Quelles sont les erreurs? Compilateur? Avez-vous importé java.math.BigDecimal et java.math.RoundingMode? Tout IDE devrait soutenir cela par "Organiser les importations" ou Quelque chose comme ça –

+0

Non, je n'ai pas importé quelque chose de ce genre, de toute façon, essayez-le! – sadia

Questions connexes