Index: formatting.php
===================================================================
--- formatting.php	(revision 21400)
+++ formatting.php	(working copy)
@@ -76,14 +76,14 @@
 		$dynamic = array();
 		if ( "'" != $apos ) {
 			$dynamic[ '/\'(\d\d(?:&#8217;|\')?s)/' ] = $apos . '$1'; // '99's
-			$dynamic[ '/\'(\d)/'                   ] = $apos . '$1'; // '99
+			$dynamic[ '/\'(\d+[^\'])/'             ] = $apos . '$1'; // '99
 		}
 		if ( "'" != $opening_single_quote )
 			$dynamic[ '/(\s|\A|[([{<]|")\'/'       ] = '$1' . $opening_single_quote; // opening single quote, even after (, {, <, [
 		if ( '"' != $double_prime )
-			$dynamic[ '/(\d)"/'                    ] = '$1' . $double_prime; // 9" (double prime)
+			$dynamic[ '/(\s(\d|\.|,)*\d+)"/'       ] = '$1' . $double_prime; // 9" (double prime), even for numbers containing . or ,
 		if ( "'" != $prime )
-			$dynamic[ '/(\d)\'/'                   ] = '$1' . $prime; // 9' (prime)
+			$dynamic[ '/(\s(\d|\.|,)*\d+)\'/'      ] = '$1' . $prime; // 9' (prime), even for numbers containing . or ,
 		if ( "'" != $apos )
 			$dynamic[ '/(\S)\'([^\'\s])/'          ] = '$1' . $apos . '$2'; // apostrophe in a word
 		if ( '"' != $opening_quote )
