with print number miles float commas python python-3.x floating-point string-formatting currency

print - python string float format



Conversión de Float a Dólares y Centavos (4)

Basándose en el ejemplo de @ JustinBarber y tomando nota del comentario de @ eric.frederich, si desea formatear valores negativos como -$1,000.00 lugar de $-1,000.00 y no desea usar la locale :

def as_currency(amount): if amount >= 0: return ''${:,.2f}''.format(amount) else: return ''-${:,.2f}''.format(-amount)

En primer lugar, he intentado esta publicación (entre otras): Formato de moneda en Python . No tiene efecto en mi variable. Mi mejor suposición es que es porque estoy usando Python 3 y ese fue el código para Python 2. (A menos que haya pasado por alto algo, porque soy nuevo en Python).

Quiero convertir un flotante, como 1234.5, en una cadena, como "$ 1,234.50". ¿Cómo voy a hacer esto?

Y por las dudas, aquí está mi código que compiló, pero no afectó mi variable:

money = float(1234.5) locale.setlocale(locale.LC_ALL, '''') locale.currency(money, grouping=True)

También sin éxito:

money = float(1234.5) print(money) #output is 1234.5 ''${:,.2f}''.format(money) print(money) #output is 1234.5


En Python 3.xy 2.7, simplemente puede hacer esto:

>>> ''${:,.2f}''.format(1234.5) ''$1,234.50''

El :, agrega una coma como un separador de miles, y el .2f limita la secuencia a dos lugares decimales (o agrega suficientes ceros para obtener hasta dos decimales, según sea el caso) al final.


En python 3, puedes usar:

import locale locale.setlocale( locale.LC_ALL, ''English_United States.1252'' ) locale.currency( 1234.50, grouping = True )

Salida

''$1,234.50''


dijiste eso:

`mony = float(1234.5) print(money) #output is 1234.5 ''${:,.2f}''.format(money) print(money)

no funcionó ... ¿Has codificado exactamente de esa manera? Esto debería funcionar (ver la pequeña diferencia):

money = float(1234.5) #next you used format without printing, nor affecting value of "money" amountAsFormattedString = ''${:,.2f}''.format(money) print( amountAsFormattedString )