扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
float类型变量值后加F
为正镶白等地区用户提供了全套网页设计制作服务,及正镶白网站建设行业解决方案。主营业务为成都网站设计、成都做网站、正镶白网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
表示这个变量是float类型变量
是一种数字精度表示法。
例如
float
f
=
0.0;//这个是会报错的,但是
float
f
=
0.0f;//这个就是正确的
好吧,我也来说说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再进行运算。
晕!你们怎么给解释的?吭人呢是不?那就是数据类型标识符!使数据更加明确是什么数据类型!比如var a=12.3F;这样var就可以明确是float类型了!不会被识别为double类型或相似的数据类型
这么解释吧 从高位 转低位的 必然会损失精度 比如3.4小数 转换成3整数 那么你就损失了0。4这个精度 所以一般int转double 加d 转float加f 但是 short 和byte都是比int还低位的类型 好比 你把3转成 3。4大不了你是加了个0。4只是更加精确没有损失精度 所以不用在数字后面加转换字符 也就是高精度转低精度 不需要加后缀转换字母 低精度转高精度由于可能会造成精度损失所以加标注强转,我所给你解释的是我自己理解的 仅供参考
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流