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