希望提供Java里的Float.intBitsToFloat()和Float.floatToIntBits()的ArkTs实现

希望提供Java里的Float.intBitsToFloat()和Float.floatToIntBits()的ArkTs实现

HarmonyOS
2024-05-10 22:37:02
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
li_jian_jun
ArkTs中无对应的实现,建议利用java api 进行封装下。 
arkts 与java 交互参考 
https://gitee.com/arkui-x/docs/blob/master/zh-cn/application-dev/tutorial/how-to-use-bridge-on-android.md 
 
intBitsToFloat改造如下: 
function intBitsToFloat(bits:number) { 
if (bits == 0x7f800000) { 
return Infinity 
} 
if (bits == 0xff800000) { 
return -Infinity 
} 
 
if ((bits >= 0x7f800001 && bits <= 0x7fffffff) || (bits >= 0xff800001 && bits <= 0xffffffff)) { 
return NaN 
} 
 
let s = ((bits >> 31) == 0) ? 1 : -1; // 符号符 
let e = ((bits >> 23) & 0xff); // 阶码 
let m = (e == 0) ? // 基数 
(bits & 0x7fffff) << 1 : 
(bits & 0x7fffff) | 0x800000; 
 
return s * m * 2 ** (e - 150) 
} 
console.log( intBitsToFloat(123).toPrecision(3)+ ‘’)
分享
微博
QQ
微信
回复
2024-05-11 11:30:43
相关问题
如何在ArkTS实现JSONMap转换?
62浏览 • 1回复 待解决
ArkTS实现Text文本【...展开】
47浏览 • 1回复 待解决
ArkTS时间获取如何实现
2650浏览 • 1回复 已解决
ArkTS获取组件位置大小接口
1107浏览 • 1回复 待解决