optional precision argument in byte_format()
diff --git a/system/helpers/number_helper.php b/system/helpers/number_helper.php
index cf683f2..1fdd303 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 @@
 			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 b94e747..3bee5d3 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -89,6 +89,7 @@
 				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 722b7f6..545c4b7 100644
--- a/user_guide/helpers/number_helper.html
+++ b/user_guide/helpers/number_helper.html
@@ -76,13 +76,19 @@
 <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