Index: src/wp-includes/formatting.php
===================================================================
--- src/wp-includes/formatting.php	(revision 28886)
+++ src/wp-includes/formatting.php	(working copy)
@@ -124,6 +124,14 @@
 			$dynamic[ '/(?<=\A|' . $spaces . ')\'(\d[.,\d]*)\'/' ] = $opening_single_quote . '$1' . $closing_single_quote;
 		}
 
+		// Quoted string ending with a number
+		if ( '"' !== $opening_quote && '"' !== $closing_quote ) {
+			$dynamic[ '/(?<!\d)"(.*?\d[.,\d]*)"/' ] = $opening_quote . '$1' . $closing_quote;
+		}
+		if ( "'" !== $opening_single_quote && "'" !== $closing_single_quote ) {
+			$dynamic[ "/(?<!\d)'(.*?\d[.,\d]*)'/" ] = $opening_single_quote . '$1' . $closing_single_quote;
+		}
+
 		// Single quote at start, or preceded by (, {, <, [, ", -, or spaces.
 		if ( "'" !== $opening_single_quote ) {
 			$dynamic[ '/(?<=\A|[([{<"\-]|' . $spaces . ')\'/' ] = $opening_single_quote;
Index: tests/phpunit/tests/formatting/WPTexturize.php
===================================================================
--- tests/phpunit/tests/formatting/WPTexturize.php	(revision 28886)
+++ tests/phpunit/tests/formatting/WPTexturize.php	(working copy)
@@ -91,8 +91,8 @@
 		//$this->assertEquals('Here is &#8220;<a href="http://example.com">a test with a link</a>&#8221;&#8230; and ellipses.', wptexturize('Here is "<a href="http://example.com">a test with a link</a>"... and ellipses.'));
 		//$this->assertEquals('Here is &#8220;a test <a href="http://example.com">with a link</a>&#8221;.', wptexturize('Here is "a test <a href="http://example.com">with a link</a>".'));
 		//$this->assertEquals('Here is &#8220;<a href="http://example.com">a test with a link</a>&#8221;and a work stuck to the end.', wptexturize('Here is "<a href="http://example.com">a test with a link</a>"and a work stuck to the end.'));
-		//$this->assertEquals('A test with a finishing number, &#8220;like 23&#8221;.', wptexturize('A test with a finishing number, "like 23".'));
-		//$this->assertEquals('A test with a number, &#8220;like 62&#8221;, is nice to have.', wptexturize('A test with a number, "like 62", is nice to have.'));
+		$this->assertEquals('A test with a finishing number, &#8220;like 23&#8221;.', wptexturize('A test with a finishing number, "like 23".'));
+		$this->assertEquals('A test with a number, &#8220;like 62&#8221;, is nice to have.', wptexturize('A test with a number, "like 62", is nice to have.'));
 	}
 
 	/**
@@ -119,8 +119,13 @@
 		$this->assertEquals('&#8220;Class of &#8217;99&#8221;', wptexturize("\"Class of '99\""));
 	}
 
+	/**
+	 * @ticket 4539
+	 */
 	function test_quotes_after_numbers() {
-		$this->assertEquals('Class of &#8217;99', wptexturize("Class of '99"));
+		$this->assertEquals('Class of 99&#8242;', wptexturize("Class of 99'"));
+		$this->assertEquals('&#8216;Class of 99&#8217;', wptexturize("'Class of 99'"));
+		$this->assertEquals('&#8220;Class of 99&#8221;', wptexturize('"Class of 99"'));
 	}
 
 	/**
