乘以浮点值 "possible lossy conversion from double to float"
Multiplying float values "possible lossy conversion from double to float"
我遇到这个问题,我必须将公里转换为英里。我是一名新手程序员,请多多包涵。
到目前为止,这是我的代码:
import java.util.Scanner;
public class problem1 {
public static void main (String args[]) {
float m;
float km;
Scanner input=new Scanner(System.in);
System.out.print("Please enter a distance in kilometers:");
km=input.nextFloat();
m=km*0.621371;
System.out.println("This is equal to: "+m);
}
}
它给我一个错误提示:
不兼容 types:possible 从 double 到 float 的有损转换。
值 0.621371
是一个 double
文字,因此 km
值在相乘时提升为 double
。将 double
产品存储回 m
的转换可能会丢失数据(double
到 float
)。
要将数据保留为 float
,请使用 float
文字,并在末尾添加 f
:
m=km*0.621371f;
通常 double
的结果会很好,所以您也可以将 m
和 km
的数据类型更改为 double
.
您正在尝试将 double
设置为 float
变量
要修复,请更改此行
m=km*0.621371;
到
m=km*0.621371f;
您需要将常量变量定义为浮点数,因为 km 被读取为浮点数。
final float KM_TO_ML = 0.621371F;
m = km * KM_TO_ML;
我遇到这个问题,我必须将公里转换为英里。我是一名新手程序员,请多多包涵。
到目前为止,这是我的代码:
import java.util.Scanner;
public class problem1 {
public static void main (String args[]) {
float m;
float km;
Scanner input=new Scanner(System.in);
System.out.print("Please enter a distance in kilometers:");
km=input.nextFloat();
m=km*0.621371;
System.out.println("This is equal to: "+m);
}
}
它给我一个错误提示:
不兼容 types:possible 从 double 到 float 的有损转换。
值 0.621371
是一个 double
文字,因此 km
值在相乘时提升为 double
。将 double
产品存储回 m
的转换可能会丢失数据(double
到 float
)。
要将数据保留为 float
,请使用 float
文字,并在末尾添加 f
:
m=km*0.621371f;
通常 double
的结果会很好,所以您也可以将 m
和 km
的数据类型更改为 double
.
您正在尝试将 double
设置为 float
变量
要修复,请更改此行
m=km*0.621371;
到
m=km*0.621371f;
您需要将常量变量定义为浮点数,因为 km 被读取为浮点数。
final float KM_TO_ML = 0.621371F;
m = km * KM_TO_ML;