问题:第三方SDK【要求传入float】,但是uts引入后变成了【number】,引发的错误:
sdk定义:腾讯云sdk官方定义是:setBeautyLevel(float beautyLevel)
uts错误:import引入后在uts里变成了:(method)TXBeautyManager.setBeautyLevel(param0: number)
以下2种写法,直接编译通不过,导致插件无法运行:
1:error: 类型不匹配: 推断类型是Number,但预期的是Float。
let level : number = 9;
bm.setBeautyLevel(level);
2:error: The integer literal does not conform to the expected type Float
let level2 : Float = 9;
bm.setBeautyLevel(level2);
下面写法【可以编译通过、也能运行】,但有明确【波浪线错误提示】:类型“Float”的参数不能赋给类型“number”的参数。
没办法,现在只能采用这个写法了
let level : number = 9;
bm.setBeautyLevel(level.toFloat());
请问:这是uts的bug吗? 或者,我应该怎么写这个代码,就既能通过编译,又不会出现错误警告?
xkeee (作者)
就如上面我说的,这个写法可以通过编译、也可以正常运行。
但有个红色的【波浪线错误提示】:类型“Float”的参数不能赋给类型“number”的参数。
这错误提示,会干扰日常的编码,总以他是真正的错误。有什么办法避免吗?或者官方会修复吗?
2024-11-21 13:00
DCloud_Android_DQQ
回复 xkeee: 先忽略ide提示 稍后会修复
29 分钟前