Skip to content

duk_to_uint()

1.0.0 stack

プロトタイプ

c
duk_uint_t duk_to_uint(duk_context *ctx, duk_idx_t idx);

スタック

| ... | val | ... | -> | ... | ToInteger(val) | ... |

要約

duk_to_int() と同様だが、戻り値の強制は duk_get_uint() と同様です。

duk_get_uint() の int強制は戻り値のみに適用され、バリュースタックには反映されない。例えば、バリュースタックに文字列 "Infinity" があった場合、スタック上の値は数値 Infinity に強制され、APIコールから DUK_UINT_MAX が返されることになります。

c
printf("ToInteger() + uint coercion: %lu\n", (unsigned long) duk_to_uint(ctx, -3));
printf("ToInteger() coercion: %lf\n", (double) duk_get_number(ctx, -3));