Попытка вывести double без десятичной дроби, когда double вводится как int - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь распечатать int всякий раз, когда для моего двойника вводится int.например, пользовательский ввод 123456, выходы 123456;пользовательские входы 1.0, выходы 1.0.На данный момент мой код печатает в два раза независимо.Это для моего метода fullCellText.

Мой код:

package textExcel;

public class ValueCell extends RealCell {
    private boolean isInt;
    public ValueCell(String cell) { 
        super(cell);
        // TODO Auto-generated constructor stub
    }
    public ValueCell(String cell, boolean isInt) { 
        super(cell);
        this.isInt = isInt;
        // TODO Auto-generated constructor stub
    }
    public String fullCellText() {
        return "" + cell;
    }

}

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

Могу предложить поставить точку в строке ввода

if (yourString.contains("."))

Это не лучший способ решить эту проблему, но это работает.

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String buff = scanner.nextLine();
        if (buff.contains(".")){
            double tempDouble = Double.parseDouble(buff);
            System.out.println(tempDouble);
        } else {
            int integer = Integer.parseInt(buff);
            System.out.println(integer);
        }
    }
0 голосов
/ 18 марта 2019

Не уверен, правильно ли я понял ваш вопрос, но я думаю, что вы пытаетесь напечатать двойное без десятичных значений.

Вы можете преобразовать значение типа double в значение типа int, выполнив что-то вроде: int x = (int) y здесь y равно double. Теперь, если вы напечатаете x, вы не получите десятичных знаков.

Примечание: int Typecasting не является хорошей идеей, поскольку ваш двойник может выйти за пределы диапазона.

...