code: public int formatFloatValueWithPrependedAndAppendedText(char[] formattedValue, float value, int
              defaultDigitsNumber, char[] label) {
          if (null != label) {
              // If custom label is not null use only name characters as formatted value.
              // Copy label into formatted value array.
              int labelLength = label.length;
              if (labelLength > formattedValue.length) {
                  Log.w(TAG, "Label length is larger than buffer size(64chars), some chars will be skipped!");
                  labelLength = formattedValue.length;
              }
              System.arraycopy(label, 0, formattedValue, formattedValue.length - labelLength, labelLength);
              return labelLength;
          }
  
          final int appliedDigitsNumber = getAppliedDecimalDigitsNumber(defaultDigitsNumber);
          final int charsNumber = formatFloatValue(formattedValue, value, appliedDigitsNumber);
          appendText(formattedValue);
          prependText(formattedValue, charsNumber);
          return charsNumber + getPrependedText().length + getAppendedText().length;
      }
docs: Formats float value. Result is stored in (output) formattedValue array. Method
  returns number of chars of formatted value. The formatted value starts at index [formattedValue.length -
  charsNumber] and ends at index [formattedValue.length-1].
  Note: If label is not null it will be used as formattedValue instead of float value.
  Note: Parameter defaultDigitsNumber is used only if you didn't change decimalDigintsNumber value using
  method {@link #setDecimalDigitsNumber(int)}.