Javaで容量を小数点第1位までで表示する

  // 容量を丸めて単位をつけて文字列で返す
  public static String getSizeStr(long size) {
    if (1024 > size) {
      return size + " Byte";
    } else if (1024 * 1024 > size) {
      double dsize = size;
      dsize = dsize / 1024;
      BigDecimal bi = new BigDecimal(String.valueOf(dsize));
      double value = bi.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
      return value + " KByte";
    } else if (1024 * 1024 * 1024 > size) {
      double dsize = size;
      dsize = dsize / 1024 / 1024;
      BigDecimal bi = new BigDecimal(String.valueOf(dsize));
      double value = bi.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
      return value + " MB";
    } else {
      double dsize = size;
      dsize = dsize / 1024 / 1024 / 1024;
      BigDecimal bi = new BigDecimal(String.valueOf(dsize));
      double value = bi.setScale(1, BigDecimal.ROUND_DOWN).doubleValue();
      return value + " GB";
    }
  }