How to convert int to float in python?

前端 未结 6 1149
慢半拍i
慢半拍i 2020-12-29 21:39

Does anyone know how to convert int to float.

For some reason, it keeps on printing 0. I want it to print a specific decimal.



        
相关标签:
6条回答
  • 2020-12-29 22:18

    In Python 3 this is the default behavior, but if you aren't using that you can import division like so:

    >>> from __future__ import division
    >>> 144/314
    0.4585987261146497
    

    Alternatively you can cast one of the variables to a float when doing your division which will do the same thing

    sum = 144
    women_onboard = 314
    proportion_womenclass3_survived = sum / float(np.size(women_onboard))
    
    0 讨论(0)
  • 2020-12-29 22:26

    Other than John's answer, you could also make one of the variable float, and the result will yield float.

    >>> 144 / 314.0
    0.4585987261146497
    
    0 讨论(0)
  • 2020-12-29 22:30

    You can literally convert it into float using:

    
    float_value = float(integer_value)
    
    

    Likewise, you can convert an integer back to float datatype with:

    
    integer_value = int(float_value)
    
    

    Hope it helped. I advice you to read "Build-In Functions of Python" at this link: https://docs.python.org/2/library/functions.html

    0 讨论(0)
  • 2020-12-29 22:35

    To convert an integer to a float in Python you can use the following:

    float_version = float(int_version)
    

    The reason you are getting 0 is that Python 2 returns an integer if the mathematical operation (here a division) is between two integers. So while the division of 144 by 314 is 0.45~~~, Python converts this to integer and returns just the 0 by eliminating all numbers after the decimal point.

    Alternatively you can convert one of the numbers in any operation to a float since an operation between a float and an integer would return a float. In your case you could write float(144)/314 or 144/float(314). Another, less generic code, is to say 144.0/314. Here 144.0 is a float so it’s the same thing.

    0 讨论(0)
  • 2020-12-29 22:37

    You can just multiply 1.0

    >>> 1.0*144/314
    0.4585987261146497
    
    0 讨论(0)
  • 2020-12-29 22:37

    The answers provided above are absolutely correct and worth to read but I just wanted to give a straight forward answer to the question.

    The question asked is just a type conversion question and here its conversion from int data type to float data type and for that you can do it by the function :

    float()

    And for more details you can visit this page.

    0 讨论(0)
提交回复
热议问题