Utils.java

/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */

package org.apache.rocketmq.exporter.util;

import java.text.DecimalFormat;

public class Utils {
    public static double getFixedDouble(double value) {
        DecimalFormat df = new DecimalFormat("#.##");
        return new Double(df.format(value));
    }

    public static double machineReadableByteCount(String humanReadableValue) {
        int unitSize = 1024;
        String[] valueArray = humanReadableValue.split(" ");
        double base = Double.parseDouble(valueArray[0]);
        String unit = valueArray[1];
        if ("B".equals(unit)) {
            return base;
        }
        int exp = "KMGTPE".indexOf(unit.charAt(0)) + 1;
        return  base * Math.pow(unitSize, exp);
    }
}