Переопределить toString, в котором две последние цифры значения Integer должны быть отделены точкой

Помогите пожалуйста, как лучше переопределить метод toString чтобы последние две цифры строкового отображения Integer числа были отделены точкой. Например 1234567 возвращало 12345.67 или 12 возвращало 0.12


Ответы (2 шт):

Автор решения: Danil

Самый простой вариант:

public String toString(int digit) {
    return digit / 100 + "." + digit % 100;
}

UPD. В комментариях поправили:

public String toString(int digit) {
    return String.valueOf(digit / 100.0);
}
→ Ссылка
Автор решения: Podushkoved

Integer - это целое число без дробной части. При делении этого числа дробная часть отсекается. Если разделить 1234567 на 100, а потом умножить на 100 - получится 1234500. Воспользуемся этим свойством Integer:

int field;

@Override
public String toString() {
    return (field / 100) + "." + (field - field / 100 * 100); // 12345.67
}
→ Ссылка