玩数字长度

时间:2018-12-18 01:05:21

标签: java android textview

在我的recycerview的文本视图中,我有2557.1564987892、0.0015468648、26.2648597816之类的数字。 所以我想如果点前有4个数字,而点后仅显示2个数字。 如果小数点前有1个数字,则小数点后有5个数字。 如果点前有2个数字,则点后有4个数字。 他们全部采用哪种方式总长度为6。 谢谢。

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

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));

答案 1 :(得分:0)

一种简单的字符串格式方法是:

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

// Function usage
truncated_number = truncateNumber(any_number_as_string);

Substring方法从原始字符串返回一个子字符串,并给出开始和结束位置。