Egret社区
1银子
[mw_shl_code=javascript,true]/**
* Any compatible Long instance.
* This is a minimal stand-alone definition of a Long instance. The actual type is that exported by long.js.
*/
export interface Long {

    /** Low bits */
    low: number;

    /** High bits */
    high: number;

    /** Whether unsigned or not */
    unsigned: boolean;
}
[/mw_shl_code]

这是目前我用 protobuf-egret 生成的ts接口,这个Long没办法和number在使用中互相转换?
求教。。感谢

分享到 :
0 人收藏

4 个回复

倒序浏览
app小王子  社区管理员 | 2018-5-14 11:10:13
pb有转换的 api  您查找一下。
hzj730  登堂入室 | 2018-5-14 11:20:31
app小王子 发表于 2018-5-14 11:10
pb有转换的 api  您查找一下。

目前服务器端给我的某个int64字段,我转出来PB的定义是 xxx:number|Long
那我现在想要直接使用这个xxx,我现在的做法是直接把xxx as number 以兼容客户端其他各种数字处理的接口。

我不太清楚把 number|Long 直接 as 成number 会不会有什么副作用……
本来以为应该Long的类里会提供我可靠的转成number的接口……但是我没有找到。
bo0liu  登堂入室 | 2018-5-18 16:42:48
同样的疑问,没查到怎么转换
hzj730  登堂入室 | 2018-5-19 19:55:05
我自己目前的方案:
首先,在工程中引入 long.js
然后可以使用 protobuf.util.LongBits.from(l).toNumber() 来把 protobuf中的 (number|Long)类型转成number
供参考
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部