From fcbb0266468db83d2d8d4006d80f77445fd6a0e2 Mon Sep 17 00:00:00 2001 From: Derek Allard Date: Sun, 17 Jan 2010 16:13:15 +0000 Subject: optional precision argument in byte_format() --- system/helpers/number_helper.php | 14 ++++++++------ user_guide/changelog.html | 1 + user_guide/helpers/number_helper.html | 8 +++++++- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/system/helpers/number_helper.php b/system/helpers/number_helper.php index cf683f2a1..1fdd30326 100644 --- a/system/helpers/number_helper.php +++ b/system/helpers/number_helper.php @@ -36,29 +36,29 @@ */ if ( ! function_exists('byte_format')) { - function byte_format($num) + function byte_format($num, $precision = 1) { $CI =& get_instance(); $CI->lang->load('number'); if ($num >= 1000000000000) { - $num = round($num / 1099511627776, 1); + $num = round($num / 1099511627776, $precision); $unit = $CI->lang->line('terabyte_abbr'); } elseif ($num >= 1000000000) { - $num = round($num / 1073741824, 1); + $num = round($num / 1073741824, $precision); $unit = $CI->lang->line('gigabyte_abbr'); } elseif ($num >= 1000000) { - $num = round($num / 1048576, 1); + $num = round($num / 1048576, $precision); $unit = $CI->lang->line('megabyte_abbr'); } elseif ($num >= 1000) { - $num = round($num / 1024, 1); + $num = round($num / 1024, $precision); $unit = $CI->lang->line('kilobyte_abbr'); } else @@ -67,9 +67,11 @@ if ( ! function_exists('byte_format')) return number_format($num).' '.$unit; } - return number_format($num, 1).' '.$unit; + return number_format($num, $precision).' '.$unit; } } + + /* End of file number_helper.php */ /* Location: ./system/helpers/number_helper.php */ \ No newline at end of file diff --git a/user_guide/changelog.html b/user_guide/changelog.html index b94e747e7..3bee5d30a 100644 --- a/user_guide/changelog.html +++ b/user_guide/changelog.html @@ -89,6 +89,7 @@ SVN Revision:

by default so as to encourage responsible use (this function can cause server performance issues when used without caution).
  • Modified the second parameter of directory_map() in the Directory Helper to accept an integer to specify recursion depth.
  • Modified delete_files() in the File Helper to return FALSE on failure.
  • +
  • Added an optional second parameter to byte_format() in the Number Helper to allow for decimal precision.
  • Other Changes diff --git a/user_guide/helpers/number_helper.html b/user_guide/helpers/number_helper.html index 722b7f6ec..545c4b76d 100644 --- a/user_guide/helpers/number_helper.html +++ b/user_guide/helpers/number_helper.html @@ -76,13 +76,19 @@ Number Helper echo byte_format(456); // Returns 456 Bytes
    echo byte_format(4567); // Returns 4.5 KB
    -echo byte_format(45678); // Returns 44.8 KB
    +echo byte_format(45678); // Returns 44.6 KB
    echo byte_format(456789); // Returns 447.8 KB
    echo byte_format(3456789); // Returns 3.3 MB
    echo byte_format(12345678912345); // Returns 1.8 GB
    echo byte_format(123456789123456789); // Returns 11,228.3 TB
    +

    An optional second parameter allows you to set the precision of the result.

    + + +echo byte_format(45678, 2); // Returns 44.61 KB + +

    Note: The text generated by this function is found in the following language file: language//number_lang.php -- cgit v1.2.3-24-g4f1b