永发信息网

菜鸟发问:怎样把float型转变成整形

答案:4  悬赏:60  手机版
解决时间 2021-04-29 21:42
  • 提问者网友:一抹荒凉废墟
  • 2021-04-29 00:34
菜鸟发问:怎样把float型转变成整形
最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-04-29 01:28
参考以下代码,实现转换:
declare
ff number:=0;
begin
b:=vv/100;
select trunc(b) into ff from dual;
dbms_output.put_line(ff);
end;
全部回答
  • 1楼网友:西岸风
  • 2021-04-29 03:06
Long a = Long.parseLong((5.67+"")replace(".",""))
  • 2楼网友:雪起风沙痕
  • 2021-04-29 03:00
第一层是一种合适的方式,只要升级为float类型的分子和分母,然后建立系统操作前,将,第二头提升到了最高的浮点类型。

二楼是不正确的,因为它是塑造成float类型的操作,两个整形除以整形转换为float类型的精度会有损失。追问咦?我没发现哪里精度会有损失啊?
public int float2Int(float f){
String str=Float.toString(f); //根据float值得到一个String对象
String s[]=str.split("\\."); //以"."为分隔符分隔s[0]s[1]
str=s[0]+s[1]; //合起来变成一个字符串
int result=Integer.parseInt(str); //把str转换成整数
return result;
}
大师能不能帮我详细点儿解释一下?
  • 3楼网友:十鸦
  • 2021-04-29 02:30
简单点说你可以先把float类型转为字符串,然后去掉点,转换成int
下边的方法就可以实现,你传人一个float类型的如5.67,得到567
public int float2Int(float f){
String str=Float.toString(f);
String[]s=str.split("\\.");
str=s[0]+s[1];
int result=Integer.parseInt(str);
return result;
}追问非常感谢,我还想请教大师一下
quint8 *buf;
float Value[10];
for(int i=0;i<10;i++){
buf[10+10*i]=(Value[i]>>8)&0xFF;
}
error C2296: “&”: 非法,左操作数包含“float”类型
我要修改的话,是要按照上面教我的,先把 Value[i] 改成 int 型,再进行 >> 8和 & 吗?追答是的,如果你的位元算操作符两边的数有float的是会报错的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯