我正在嘗試使用Python 2.7的字符串格式輸出美元十個蘋果的成本,其中單位價格以美分提供。數字格式從美分到美元
我希望total_apple_cost
的值爲"10.00"
,但它是"1.001.001.001.001.001.001.001.001.001.00"
。
我已經包含了其他變量的測試表明,他們都走出預期:
# define apple cost in cents
apple_cost_in_cents = 100
# define format string
cents_to_dollars_format_string = '{:,.2f}'
# convert 100 to 1.00
apple_cost_in_dollars = cents_to_dollars_format_string.format(apple_cost_in_cents/100.)
# assign value of 'apple_cost_in_dollars' to 'apple_cost'
apple_cost = apple_cost_in_dollars
# calculate the total apple cost
total_apple_cost = 10 * apple_cost
# print out the total cost
print 'total apple cost: ' + str(total_apple_cost) + '\n'
#testing
print 'cost in cents: ' + str(apple_cost_in_cents) + '\n'
print 'cost in dollars: ' + str(apple_cost_in_dollars) + '\n'
print 'apple cost: ' + str(apple_cost) + '\n'
解決方案:
謝謝你的回答下面這既表明變量「 apple_cost_in_dollars'是一個字符串。
我的解決辦法是讓它浮動,保持代碼的其餘部分幾乎相同:
apple_cost_in_cents = 100
cents_to_dollars_format_string = '{:,.2f}'
apple_cost_in_dollars = float(cents_to_dollars_format_string.format(apple_cost_in_cents/100.))
apple_cost = apple_cost_in_dollars
total_apple_cost = 10 * apple_cost
print 'cost in cents: ' + str(apple_cost_in_cents) + '\n'
print 'cost in dollars: $''{:,.2f}'.format(apple_cost_in_dollars) + '\n'
print 'apple cost: $''{:,.2f}'.format(apple_cost) + '\n'
print 'total apple cost: $''{:,.2f}'.format(total_apple_cost) + '\n'
打我吧:) +1 – mgilson 2013-03-14 04:30:09