无法使用python将生成的结果转换为浮点数

时间:2016-12-07 21:40:43

标签: python python-2.7

我正在尝试获取浮点值,但它会继续给我一个十进制值作为答案。

import math

p = int(raw_input("Please enter deposit amount: \n"))
r = int(raw_input("Please input interest rate: \n"))
t = int(raw_input("Please insert number of years of the investment: \n"))
interest = raw_input("Do you want a simple or compound interest ? \n")

A = p*(1+r*t) 
B = p*(1+r)^t 

if interest == "simple":
    print (float(A/100))
else:
    print(float(B/100))

2 个答案:

答案 0 :(得分:4)

float(A/100)首先计算A / 100,它们都是整数,因此结果是一个int,然后才转换为float。相反,你可以使用:

float(A)/100

或:

A/100.

答案 1 :(得分:0)

这是问题所在。在python2中,整数之间的除法给出了另一个整数(在python3中不是这样)。

42 / 100 # return 0 

解决方案是保持一个浮动。

42 / 100.0 #return 0.42