java强制转换成float_在Java中什么时候double必须强制转换成float 就是要在数值后加f或者强制转换...

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

auyps

2013.08.05

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:47%    等级:12

已帮助:8409人

好吧,我也来说说double与float之间的转换
首先,我说一下定义时赋值的情况
比如:
你可以这样来定义一个double型的
double d = 0.1;
然而,你不可以通过
float f = 0.1;来定义一个float型的,这是因为默认的小数是double型的
要定义一个float型的,有两种方式
float f = 0.1f;
或者 float f = (float)0.1;
相互之间的转化:
好吧,还是来举个例子:
假设有void f1(double d)
void f(float f)
这两个函数的定义
现在用上面定义的变量来调用一下就知道了
f(d);是有编译错误的,这说明java中double不能自动转化为float,改为f((float) d);就行了
但是f1(f),确是可以是,这是因为java可以自动的转化float至double来进行运算。
至于为什么?
java在运算时会自动的提升变量的精度来进行运算,double比float精度更高,所以可以自动的从float转化至double再进行运算。

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值