I am new to python and barely know anything, but learned how to import "locale.currency" (from a suggestion to one of my other threads) to deal with formatting numbers into US currency. The following code:
import locale
locale.setlocale(locale.LC_ALL, '')
'English_United States.1252'
locale.currency(xyz, grouping=True).rjust(14, ' ')
If xyz = 1234567.89, then this code prints
$1,234,567.89
Does anyone know a way to alter the formula to ROUND (not truncate) to NO decimal places, to get:
$1,234,568
thanks
does what I want
import locale
xyz = 1234567.89
locale.setlocale(locale.LC_ALL, '')
'English_United States.1252'
rxyz = int(round(xyz))
print(locale.currency(rxyz, grouping=True).rjust(14, ' '))
results:
Output:
$1,234,568.00
Larz
Thanks for the reply, but I do not want to show the .00
I just want to show $1,234,568
(Dec-27-2016, 01:52 PM)birdieman Wrote: [ -> ]I just want to show $1,234,568
>>> xyz = 1234567.89
>>> '${:,.0f}'.format(xyz)
'$1,234,568'
Thanks Snippsat
I think my problems formatting is due to how python reads numbers written to a file.
If I write integers or floating point numbers to a file, and then read them back, are they ALL strings?
If so, I gather that I must either (1) treat them as strings (like using ('$' + xyz), or (2) convert them somehow back to integers/floating point numbers before trying to print them using your example above?
Is this correct?
one last question. is there a way to add a comma (for thousands separator) to this format line?
'{}'.format('$' + begintaxableequity).rjust(12, ' ')
It depends on what you want to achieve. If you have 5312.75 it will be 5313 ( if you round it ) and 5312 if you convert it to an integer or just cut off the decimal part when you format it.
For the record, You don't have to write data to a file as strings. Just add a mode
qualifier of 'b' when you open, and you can write data as binary.
The available modes are:
- r for reading
- w for writing
- r+ opens for reading and writing (cannot truncate a file)
- w+ for writing and reading (can truncate a file)
- rb+ reading or writing a binary file
- wb+ writing a binary file
- a+ opens for appending
Thanks for the information on the various ways to read/write to a file.
I was wondering if there was a way to add a comma to the one line of code I posted on #5 above (I edited my original post so you probably did not see it)??
Thanks to all of you
I figured everything out -- thanks to all