Как вставить символ в строку в определенной позиции? - PullRequest
136 голосов
/ 04 мая 2011

Я получаю int с 6-значным значением. Я хочу отобразить его как String с десятичной точкой (.) С двумя цифрами от конца int. Я хотел использовать float, но мне предложили использовать String для лучшего вывода изображения (вместо 1234.5 будет 1234.50). Поэтому мне нужна функция, которая будет принимать int в качестве параметра и возвращать правильно отформатированный String с десятичной точкой 2 цифры от конца.

Скажи:

int j= 123456 
Integer.toString(j); 

//processing...

//output : 1234.56

Ответы [ 11 ]

0 голосов
/ 04 мая 2011

Если вы используете систему с плавающей запятой, которая стоит дорого (например, без FPU) или не разрешена (например, в бухгалтерском учете), вы можете использовать что-то вроде этого:

    for (int i = 1; i < 100000; i *= 2) {
        String s = "00" + i;
        System.out.println(s.substring(Math.min(2, s.length() - 2), s.length() - 2) + "." + s.substring(s.length() - 2));
    }

В противном случае лучшим решением будет DecimalFormat.(приведенный выше вариант StringBuilder не будет работать с маленькими числами (<100) </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...