2015-11-03 4 views
3

Итак, я делал программу, в которой пользователь вводил числитель и знаменатель, программа преобразует псевдо-дробь в десятичную. Он работает отлично, только одно. Один, если я ввешу дробь, которая является повторяющейся десятичной (например, 1/3, 0,33333333 ...), я хочу, чтобы либо она произнесла 0.33 повторения, либо для иррациональных чисел, она обойдется вокруг, скажем, 7 цифр и затем остановитесь и получите «... Иррациональный» после. Как я могу это сделать? Код ниже.Округление десятичных разрядов в Java

package Conversions; 

import java.util.*; 

public class FractionToDecimal { 

public static void main (String[] args) { 
    Scanner sc = new Scanner (System.in); 

    System.out.println("Enter Numerator: "); 
    int numerator = sc.nextInt(); 
    System.out.println("Enter Denominator: "); 
    int denominator = sc.nextInt(); 
    if (denominator == 0) { 
     System.out.println("Can't divide by zero"); 
    } 
    else { 
     double fraction = (double)numerator/denominator; 
     System.out.println(fraction); 
    } 
} 
}  
+1

@Reimeus Edited. Спасибо. –

+3

SO не то место, где нужно, чтобы кто-то написал код для вас. Вам нужно сделать домашнее задание. Продолжайте работать над этим, и когда у вас будет более конкретный вопрос, не стесняйтесь спрашивать. –

+0

дубликат http://stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places-in-java –

ответ

2

Вы могли бы использовать это:

DecimalFormat df = new DecimalFormat("#.######"); 
df.setRoundingMode(RoundingMode.CEILING); 

Добавить столько #, как вы хотите, десятичные, а затем ожно просто использовать его как это:

Double d = 12345.789123456; 
System.out.println(df.format(d)); 

Используя три # даст вам для примера выше: 12345.789 например.

Обратите внимание, что вы можете выбрать режим округления, конечно.

Небольшое примечание: В следующий раз, когда вы зададите вопрос о SO, пожалуйста, покажите некоторое исследование, есть тысячи сообщений об этом и тысячи обучающих онлайн. Было бы неплохо показать, что вы пробовали, что не работает ...

Смежные вопросы