如何在 V8 中字符串化整数?
How to stringify an Integer in V8?
我正在尝试在 v8 中字符串化一个整数。
到目前为止,我最接近成功的是使用String::Concat
。 我尝试编写此方法(在节点.js 9.11.1本机插件中),但它无法编译。
void Method(const FunctionCallbackInfo<Value> &args) {
Isolate *isolate = args.GetIsolate();
const int num = 42;
args.GetReturnValue().Set(
String::Concat(String::NewFromUtf8(isolate, "The num is: "),
Integer::New(isolate, num)));
}
编译错误为:
'=': cannot convert from 'v8::Integer *' to 'v8::String *volatile '
我无法找出 v8 API 的正确部分来将整数格式化为字符串。 我(也许显然)不熟悉 v8 API,而且我很难找到好的例子来学习。
我正在回答这个问题:如何在 V8 中将整数转换为字符串? 尽管与现代 v8 API 相比,它似乎已经过时了。 例如,该示例似乎是预"隔离"的。
我的印象是 Concat 会接受这一点,因为在 JavaScript 中,它只是将 int 强制为字符串(这似乎是我引用的那个问题的要点)。 但我想也许在使用 v8 编码时我必须明确说明这一点?
我确定这是我错过的简单东西。我希望有人提出更好的方法。
尝试在刚刚创建的Integer
上调用ToString
。
请参阅此处的函数声明:https://chromium.googlesource.com/v8/v8/+/6.5.254.41/include/v8.h#2333
"JavaScript 只是强制 int"的魔术必须在某个地方实现——即在C++端,所有此类转换都是手动完成的;-)
相关文章:
- C 字符串返回字符串的整数/双精度/长整型值
- 尝试将字符串/字符转换为整数会产生意外结果
- 从字符串中提取整数并形成一个数组
- 如何将整数字符串转换为整数的二维向量?
- 如何初始化整数+字符串数组
- 将字节数组转换为逗号分隔的整数字符串
- 编写 LLVM 整数/字符串输入
- 使用户输入整数字符串,然后输出不同的字符串
- 如何在 python 中将无符号字符类型的整数字符串转换为整数
- 将整数字符串转换为整数的最简单方法
- 如何检查输入是否为整数/字符串
- 如何将二进制字符串转换为整数字符串
- 将二进制字符串转换为整数字符串c++
- 如何在c++中将一个整数字符串转换为数组
- 整数字符串压缩算法
- 当 0 是行中的最后一个整数时,如何使用 c++ 检测您已经到达整数字符串的末尾?
- 将整数字符串解析为 std 向量
- 用空格分割一个正/负整数字符串
- 我如何在c++中排序一个整数字符串
- 添加整数字符串