diff options
author | Derek Allard <derek.allard@ellislab.com> | 2010-01-17 17:13:15 +0100 |
---|---|---|
committer | Derek Allard <derek.allard@ellislab.com> | 2010-01-17 17:13:15 +0100 |
commit | fcbb0266468db83d2d8d4006d80f77445fd6a0e2 (patch) | |
tree | f405797866eb38c5087e72ca7ad0c1470b4e8347 | |
parent | b251c522205973bfc3992e22d70827eb0c2b1b7a (diff) |
optional precision argument in byte_format()
-rw-r--r-- | system/helpers/number_helper.php | 14 | ||||
-rw-r--r-- | user_guide/changelog.html | 1 | ||||
-rw-r--r-- | 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: </p> by default so as to encourage responsible use (this function can cause server performance issues when used without caution).</li> <li>Modified the second parameter of <kbd>directory_map()</kbd> in the <a href="helpers/directory_helper.html">Directory Helper</a> to accept an integer to specify recursion depth.</li> <li>Modified <kbd>delete_files()</kbd> in the <a href="helpers/file_helper.html">File Helper</a> to return FALSE on failure.</li> + <li>Added an optional second parameter to <kbd>byte_format()</kbd> in the <a href="helpers/number_helper.html">Number Helper</a> to allow for decimal precision.</li> </ul> </li> <li>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 <code> echo byte_format(456); // Returns 456 Bytes<br /> echo byte_format(4567); // Returns 4.5 KB<br /> -echo byte_format(45678); // Returns 44.8 KB<br /> +echo byte_format(45678); // Returns 44.6 KB<br /> echo byte_format(456789); // Returns 447.8 KB<br /> echo byte_format(3456789); // Returns 3.3 MB<br /> echo byte_format(12345678912345); // Returns 1.8 GB<br /> echo byte_format(123456789123456789); // Returns 11,228.3 TB </code> +<p>An optional second parameter allows you to set the precision of the result.</p> + +<code> +echo byte_format(45678, 2); // Returns 44.61 KB +</code> + <p class="important"> <strong>Note:</strong> The text generated by this function is found in the following language file: language/<your_lang>/number_lang.php |