Игра с длиной номера - PullRequest
0 голосов
/ 18 декабря 2018

В текстовом представлении моего recycerview у меня есть такие номера, как 2557.1564987892, 0.0015468648, 26.2648597816.поэтому я хочу, чтобы перед точкой находилось 4 числа, а после 2 - только 2если перед точкой стоит 1 число, отобразите 5 чисел после точки.если перед точкой стоят 2 цифры, то после 4 ставятся цифры 4.каким образом они все имеют общую длину 6.Спасибо.

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Простой способ в строковом формате:

String truncateNumber(String input_num) {
    output = input_num.substring(0, 7);
    return output;
}

// Function usage
truncated_number = truncateNumber(any_number_as_string);

Метод подстроки возвращает подстроку из исходной строки, давая начальную и конечную позиции.

0 голосов
/ 18 декабря 2018

Вы можете попробовать что-то вроде этого:

private static String fmtFixed(float value, int digits) {
    StringBuilder pattern = new StringBuilder("0.");
    float v = value;
    while (v >= 1) {
        digits--;
        v /= 10;
    }
    if (value < 1) {
        digits--;
    }
    while (digits > 0) {
        digits--;
        pattern.append("0");
    }
    return new DecimalFormat(pattern.toString()).format(value);
}

Чтобы использовать, вы бы назвали это как:

textView.setText(fmtFixed(2557.1564987892, 6));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...