Every line of 'python convert string to decimal' code snippets is scanned for vulnerabilities by our powerful machine learning engine that combs millions of open source libraries, ensuring your Python code is secure.
283 def parse_decimal(string, locale=LC_NUMERIC): 284 """Parse localized decimal string into a decimal. 285 286 >>> parse_decimal('1,099.98', locale='en_US') 287 Decimal('1099.98') 288 >>> parse_decimal('1.099,98', locale='de') 289 Decimal('1099.98') 290 291 When the given string cannot be parsed, an exception is raised: 292 293 >>> parse_decimal('2,109,998', locale='de') 294 Traceback (most recent call last): 295 ... 296 NumberFormatError: '2,109,998' is not a valid decimal number 297 298 :param string: the string to parse 299 :param locale: the `Locale` object or locale identifier 300 :return: the parsed decimal number 301 :rtype: `Decimal` 302 :raise `NumberFormatError`: if the string can not be converted to a 303 decimal number 304 """ 305 locale = Locale.parse(locale) 306 try: 307 return Decimal(string.replace(get_group_symbol(locale), '') 308 .replace(get_decimal_symbol(locale), '.')) 309 except InvalidOperation: 310 raise NumberFormatError('%r is not a valid decimal number' % string)
372 def test__DECIMAL_to_python(self): 373 """Convert a MySQL DECIMAL to a Python decimal.Decimal type""" 374 data = b'3.14' 375 exp = Decimal('3.14') 376 res = self.cnv._DECIMAL_to_python(data) 377 378 self.assertEqual(exp, res) 379 380 self.assertEqual(self.cnv._DECIMAL_to_python, 381 self.cnv._NEWDECIMAL_to_python)
16 def format_decimal(value): 17 return Decimal(value.quantize(Decimal('.01'), rounding=ROUND_HALF_UP))
78 def pythonvalue(self, value): 79 return _Decimal(value)
10 def convert_to_decimal(number, frac=False): 11 bad_type = not isinstance(number, (int, long, str, unicode, Decimal, Fraction)) 12 if bad_type: 13 message = "{}, of type {} is not suitable as a Decimal" 14 logger.warning(message.format(number, type(number))) 15 return Fraction(number) if frac else Decimal(number)
143 def split_decimal(value): 144 import decimal 145 decimal.getcontext().prec = 2 146 d = decimal.Decimal(value) 147 i = int(d) 148 return (i, d - i)
16 def create_decimal(value, default=0): 17 """Create a decimal from the passed value. This is a decimal that 18 has 6 decimal places and is clamped between 19 -1 quadrillion < value < 1 quadrillion 20 """ 21 from decimal import Decimal as _Decimal 22 23 if value is None: 24 return _Decimal(0, get_decimal_context()) 25 26 try: 27 d = _Decimal("%.6f" % value, get_decimal_context()) 28 except: 29 value = _Decimal(value, get_decimal_context()) 30 d = _Decimal("%.6f" % value, get_decimal_context()) 31 32 if d <= -1000000000000: 33 from Acquire.Accounting import AccountError 34 raise AccountError( 35 "You cannot create a balance with a value less than " 36 "-1 quadrillion! (%s)" % (value)) 37 38 elif d >= 1000000000000000: 39 from Acquire.Accounting import AccountError 40 raise AccountError( 41 "You cannot create a balance with a value greater than " 42 "1 quadrillion! (%s)" % (value)) 43 44 return d
114 def decimal2text(value, places=2, 115 int_units=(('', '', ''), 'm'), 116 exp_units=(('', '', ''), 'm')): 117 value = decimal.Decimal(value) 118 q = decimal.Decimal(10) ** -places 119 120 integral, exp = str(value.quantize(q)).split('.') 121 return u'{} {}'.format( 122 num2text(int(integral), int_units), 123 num2text(int(exp), exp_units))
7 def monzo_amount_to_dec(amount): 8 """ 9 Monzo API returns monetary amount as an integer without the delimiter 10 before the subunit, so 12345 is in fact 123.45 11 12 :param amount: monetary amount 13 :type amount: int 14 :return converted monetary amount 15 :rtype Decimal 16 """ 17 return Decimal( 18 str(amount)[:-2] + '.' + str(amount)[-2:] 19 )
589 def _cast(self, value): 590 if value is not None and value != '': 591 return decimal.Decimal(value).quantize(self.precision)