Переопределить 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
}