【发布时间】:2019-10-28 06:14:03
【问题描述】:
如何检查 napi_number 类型的给定 napi_value 是 integer 还是 decimal(带小数的数字值)通过使用 node.js 原生 N-API 函数。 看起来 N-API 中没有 isInt() 或 isDouble() 等效函数(我们也不想使用 V8 函数调用)。让我们考虑一个场景,我们通过传递一个 JavaScript 对象作为参数从 JavaScript 调用原生插件函数 f1(),如 sn-p 所示。
let obj = { n1: 123, n2: 123.45 };
myaddon.f1( obj );
原生函数 f1() 想要通过调用最佳拟合值提取 N- 来提取与键 n1 和 n2 关联的值API函数。例如,要提取 n1 的值,最好使用 napi_get_value_int* 之一,对于 n2 和 double 类似。 strong> 是更好的选择。
napi_get_value_double
napi_get_value_int32
napi_get_value_uint32
napi_get_value_int64
很遗憾,我找不到任何 N-API 函数来验证 napi_number 属性的导数。你有没有遇到过类似的情况,如果有,你是怎么解决这个问题的?
【问题讨论】:
标签: c node.js n-api node-nan node-native-addon