java数据类型转换

2025-02-26 17:01:00
推荐回答(4个)
回答1:

这很明显
第一 c=(int)d; 意思是把d的值强转为int类,然后赋给c,那么c自然也等于8000.

第二 f=(float)g; 意思是把double类型的g值,强转为float类型然后赋给f,因为float是单精度,所以结果就去掉小数点的一半.

回答2:

是因为浮点行转换成字符串的时候 涉及到占位和补位 所以会产生这种情况
一个字符占2个字节 而一个浮点小数的单精度是占4个字节 双精度占8个字节
在转换的时候当然会出现这种情况

回答3:

我补充下hnxpmm的解释吧
f=1.23456792E8相当于是将123456789.123456789的小数点前移变成1.23456789123456789*10^8,去掉小数的一半就变成1.23456789*10^8了,

回答4:

double g = 123456789.123456789;
f = 1.23456792E8;
相信你应该看到了!