12 Stimmen

Wie erhalte ich in Java den Teil nach dem Dezimalpunkt?

Ich habe eine double variabel d = 1.15 .

Ich möchte die Zahl nach dem Dezimalpunkt, also "15".

Wie lässt sich dies in Java am besten bewerkstelligen?

Ich habe es auf diese Weise versucht:

Double d = 1.15;
String str = d.toString();
int len = str.substring(str.indexOf(".")).length() - 1;
int i= (int) (d * (long)Math.pow(10,len) % (long)Math.pow(10,len));

Aber ich habe keine richtige Antwort bekommen, weil ich bei der Umwandlung d.toString() die Antwort lautet 14.999999999999986 .

0voto

Pravaal Reddy Punkte 1
  Scanner scr= new Scanner (System.in);
  double d= scr.nextDouble();

  BigDecimal bc= new BigDecimal ((d - Math.floor(d))*1e5); 

  bc=bc.setScale(4,RoundingMode.HALF_DOWN); 

  double f = bc.doubleValue();

    while(f%10==0)
    {
      f=f/10;
    }
  System.out.println(f);

-1voto

user10786460 Punkte 1
    ExAMPLE :

    Double d = 469.951479;

    String string = d.toString();

    char[] len = string.substring(string.indexOf(".")).toCharArray();

    System.out.println(len);

-1voto

edilon Junior Punkte 45
double myNumber = 1.15;
//numbers After Dot
double n = 2;
double right_of_dot = (myNumber - (int) myNumber)*Math.pow(10,n);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X