mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #13810 -- Truncate numbers correctly when given number of decimal positions is zero. Thanks, milosu and Łukasz Rekucki.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@16074 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -2,7 +2,7 @@ from django.conf import settings | ||||
| from django.utils.safestring import mark_safe | ||||
|  | ||||
|  | ||||
| def format(number, decimal_sep, decimal_pos, grouping=0, thousand_sep=''): | ||||
| def format(number, decimal_sep, decimal_pos=None, grouping=0, thousand_sep=''): | ||||
|     """ | ||||
|     Gets a number (as a number or string), and returns it as a string, | ||||
|     using formats definied as arguments: | ||||
| @@ -29,11 +29,11 @@ def format(number, decimal_sep, decimal_pos, grouping=0, thousand_sep=''): | ||||
|     # decimal part | ||||
|     if '.' in str_number: | ||||
|         int_part, dec_part = str_number.split('.') | ||||
|         if decimal_pos: | ||||
|         if decimal_pos is not None: | ||||
|             dec_part = dec_part[:decimal_pos] | ||||
|     else: | ||||
|         int_part, dec_part = str_number, '' | ||||
|     if decimal_pos: | ||||
|     if decimal_pos is not None: | ||||
|         dec_part = dec_part + ('0' * (decimal_pos - len(dec_part))) | ||||
|     if dec_part: dec_part = decimal_sep + dec_part | ||||
|     # grouping | ||||
|   | ||||
| @@ -171,6 +171,7 @@ class FormattingTests(TestCase): | ||||
|         settings.USE_THOUSAND_SEPARATOR = False | ||||
|         self.assertEqual(u'66666.66', nformat(self.n, decimal_sep='.', decimal_pos=2, grouping=3, thousand_sep=',')) | ||||
|         self.assertEqual(u'66666A6', nformat(self.n, decimal_sep='A', decimal_pos=1, grouping=1, thousand_sep='B')) | ||||
|         self.assertEqual(u'66666', nformat(self.n, decimal_sep='X', decimal_pos=0, grouping=1, thousand_sep='Y')) | ||||
|  | ||||
|         settings.USE_THOUSAND_SEPARATOR = True | ||||
|         self.assertEqual(u'66,666.66', nformat(self.n, decimal_sep='.', decimal_pos=2, grouping=3, thousand_sep=',')) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user