Ⅰ 如何将double转换成float类型

如果不考虑丢失问题:float.Parse(a.ToString());

浮点变量可以提升为更大基数的类型(从 float 类型到 double 类型)。当您对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。例如,请考虑下列类型声明:

float f_short;double f_long;long double f_longer;f_short = f_short * f_long;

在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。



(1)javadoubletofloat扩展阅读:

在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:

f_longer = f_short * f_short;

double f_long;

long double f_longer;

f_short = f_short * f_long;

在前面的示例中,变量f_short提升到类型 double 并且与f_long相乘;然后,结果舍入到类型 float,然后赋给f_short。

在以下示例中(使用前面示例中的声明),将以浮点(32 位)精度对变量执行算术;结果随后将提升到 double 类型:

f_longer = f_short * f_short;

在 C/C++ 中,上述语句等号右边 0.1,认为是个 float,但是编译器却把它认为是个 double(因为小数默认是 double),所以要报这个 warning,一般改成0.1f就没事了。

Ⅱ java中float类型变量赋值1.8,提示类型不匹配:double型不能自动转成float

肯定的啊,java里,默认的浮点数都是double类型
float a = 1.8; //注意,这个1.8就是一个double类型,是一个匿名对象,因些加个f表示这个匿名对象是float类型

float b = 9; 因为java里,默认的整数是int类型,当你b = 9 的时候,会自动向上转形了,因此不会报错,
纯手工解释,请点赞哈

Ⅲ java菜鸟问题:float相较于double存在的意义是什么

占用空间不一样。能省就省吧。精度也不一样的

Ⅳ java中double和float如何转换不丢失精度

double是双精度浮点数,比特数为64位,有效数字是15-16位;
float是单精度浮点型,比特数为32位,有效数字是6-7位;
日常开发中正常避免使用float型,而使用double型,故楼主不必转牛角尖,精度问题肯定会存在的。

Ⅳ java, int如何转float,

可以直接强制转换。
int i = 2;
float f = i;
但是这种转化方式比较少用,比较多的是int转为string或者string转为int或者float。

Ⅵ java float转成double会出现这种现象

float 和 double 都是精度浮点,float是单精度浮点,double是双精度浮点,他们唯一的区别就是所占有的位数不同。他们本身就是个约数,所以你试试 1.0+2.0 不一定等于 3.0

Ⅶ 请问java中,Double类型和double有什么不同能否转换

Double 是类 double是基础数据类型。Double类型是double的包装类,在JDK1.5以后,二者可以直接相互赋值,称为自动拆箱和自动装箱。如果是这样,可以用Double中的方法,将包装类转为基本数据类型。

可以转换的。

Ⅷ java中如何把float类型转换成double类型保证精确

float f = 1.2f;
double d = Double.parseDouble(String.valueOf(f)) ;
System.out.println(d);
直接转换会设计到精度问题,所以需要借助字符串 保证回不丢失数答据

Ⅸ java中double转float怎么超出位数

double d=123456789.123456;
DecimalFormat df=new DecimalFormat("#.00");
System.out.println(df.format(d));