Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/14: Рейтинг темы: голосов - 14, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 12.11.2013
Сообщений: 9
1

Выписать дробную часть с определенным количеством символов

21.11.2013, 02:53. Показов 2814. Ответов 2
Метки нет (Все метки)

Доброго времени суток. Требуется помощь с решением следующей задачи: написать программу содержащую метод, который прочтет реальное число и до целочисленной переменной уложит дробную часть с определенным количеством знаков. Входные данные: реально число(double или float), количество знаков после запятой. Результат:целое число число, содержащее только дробную часть числа с определенным числом знаков после запятой.

Пример:
(а - число, n - кол-во знаков)

a=8.25689, n=3, результат: „256“
a=34.25, n=3, результат: „250“



На данный момент у меня есть код
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void main(String[] args) {
 Scanner sc = new Scanner(System.in);
      System.out.print("Введите число ");
      double cislo = sc.nextDouble();
      System.out.print("Количество знаков после запятой ");
      int n = sc.nextInt();
      System.out.println("Дробная часть числа - " + desCast(cislo, n));
}
  public static int desCast( double cislo, int n){
      int dc = 0;
      String vystup = "";
      String cislo1 = "" + cislo;
      for(int i = 0; i < cislo1.length()-1; i++){
          int a = cislo1.charAt(i);
          char c = cislo1.charAt(i);
          if(c == '.' || c ==',') 
              vystup += cislo1.substring(i+1);
          }
      dc = Integer.valueOf(vystup);
      return dc;
  }
}

Собственно, дробная часть выводится. Но я не знаю как с помощью n ее ограничить или расширить и добавить нули. Здесь то мне нужна помощь. Буду вам благодарен, если поможете
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.11.2013, 02:53
Ответы с готовыми решениями:

Дан файл в нем дробные числа нужно выписать дробную часть максимального элемента в строке в другой файл
Дан файл в нем дробные числа нужно выписать дробную часть максимального элемента в строке в другой...

Вычислите дробную часть среднего арифметического и дробную часть среднего геометрического трех чисел
Здравствуйте! Задание уровня детского сада: Вычислите дробную часть среднего арифметического и ...

Как сделать конкатенацию с определенным количеством символов
Здравствуйте, подскажите, пожалуйста, как сделать канкатенацию с определенным кол-ом символов....

Сложность в решении задачи. Поиск слов с определенным количеством символов
int b=int.Parse(Console.ReadLine()); Regex x = new Regex(@&quot;\w{b}&quot;,...

__________________

Записывайтесь на профессиональные курсы Java-разработчиков
Обучение в Java Mentor с оплатой после трудоустройства
2
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
442 / 441 / 100
Регистрация: 14.10.2012
Сообщений: 1,146
Записей в блоге: 9
23.11.2013, 22:17 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.util.Locale;
 
 
public class Program {
    public static void main (String[] args) {
        Number answer = desCast(2.123456789, 3);
        System.out.println("Целое: " + answer.getIntegerNumber());
        System.out.println("Дробное: " + answer.getDoubleNumber());
        
    }
    public static Number desCast(double d, int n) {
        int intNumber = (int)d;
        double doubleNumber = d - (int)d;
        String stringForFormatInput = "%." + n + "f";
        double dou = Double.parseDouble(String.format(Locale.ENGLISH, stringForFormatInput, doubleNumber));
        return new Number(intNumber, dou);
    }
}
 
class Number {
 
    private int integerNumber;
    private double doubleNumber;
 
    Number(int integerNumber, double doubleNumber) {
        this.integerNumber = integerNumber;
        this.doubleNumber = doubleNumber;
    }
    
    public int getIntegerNumber() {
        return integerNumber;
    }
 
    public double getDoubleNumber() {
        return doubleNumber;
    }
 
}
Добавлено через 6 минут
либо вот еще вариант который число (1.2345, 3) отдаст 1 и 234
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import java.util.Locale;
 
 
public class Program {
    public static void main (String[] args) {
        Number answer = desCast(2.123456789, 5);
        System.out.println("Целое: " + answer.getIntegerNumber());
        System.out.println("Дробное: " + answer.getDoubleNumber());
        
    }
    public static Number desCast(double d, int n) {
        int intNumber = (int)d;
        double doubleNumber = d - (int)d;
        String stringForFormatInput = "%." + n + "f";
        int dou = Integer.parseInt(String.format(Locale.ENGLISH, stringForFormatInput, doubleNumber).substring(2));
        return new Number(intNumber, dou);
    }
}
 
class Number {
 
    private int integerNumber;
    private int doubleIntNumber;
 
    Number(int integerNumber, int doubleIntNumber) {
        this.integerNumber = integerNumber;
        this.doubleIntNumber = doubleIntNumber;
    }
    
    public int getIntegerNumber() {
        return integerNumber;
    }
 
    public int getDoubleNumber() {
        return doubleIntNumber;
    }
 
}
0
0 / 0 / 1
Регистрация: 15.09.2016
Сообщений: 2
21.05.2017, 19:00 3
Java
1
2
3
4
5
6
7
8
9
public int separationOfRemain(double someNumber, int amountOfSigns) {
        return Integer.parseInt(String.valueOf(someNumber).substring(
                getCountsOfDigits((int) someNumber) + 1, amountOfSings));
    }
 
    private int getCountsOfDigits(long number) {
        return (number == 0) ? 1 : (int) Math
                .ceil(Math.log10(Math.abs(number) + 0.5));
    }
вот мое решение
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2017, 19:00

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Отбросить дробную часть числа, если дробная часть равна нулю
Всем доброго времени суток, каким образом можно устроить проверку равна ли дробная часть числа...

Удалить из текста все слова с нечетным количеством символов и перевернуть слова с четным количеством символов
удалить из текста все слова с нечетным количеством символов и перевернуть все слова с четным...

Вычислить дробную часть
Вычислить дробную часть среднего геометрического трех введенных с клавиатуры чисел. Очень...

Оставить дробную часть
Допустим, имеем число 12,345. Необходимо это число преобразовать в 0.345. Просто отбросить целую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.