Multiplying float values “possible lossy conversion from double to float”

前端 未结 3 471
广开言路
广开言路 2020-12-12 05:25

I have this problem wherein I have to convert kilometers into miles. I\'m a novice programmer so bear with me.

Here\'s my code so far:

import java.ut         


        
相关标签:
3条回答
  • 2020-12-12 05:58

    The value 0.621371 is a double literal, so the km values is promoted to double when multiplied. Storing the double product back to m would be a conversion that could lose data (double to float).

    To keep the data as a float, use a float literal, with a f on the end:

    m=km*0.621371f;
    

    Normally a double for the results would be just fine, so you could also just change the datatypes of m and km to double.

    0 讨论(0)
  • 2020-12-12 06:05

    You need to define constant variable as a float, since km is read as a float.

    final float KM_TO_ML = 0.621371F;
    m = km * KM_TO_ML;
    
    0 讨论(0)
  • 2020-12-12 06:10

    You are trying to set a double to a float variable

    To fix, change this line

    m=km*0.621371;
    

    to

    m=km*0.621371f;
    
    0 讨论(0)
提交回复
热议问题