18c339a94Sopenharmony_ci# Number 28c339a94Sopenharmony_ci 38c339a94Sopenharmony_ci`Napi::Number` class is a representation of the JavaScript `Number` object. The 48c339a94Sopenharmony_ci`Napi::Number` class inherits its behavior from `Napi::Value` class 58c339a94Sopenharmony_ci(for more info see [`Napi::Value`](value.md)) 68c339a94Sopenharmony_ci 78c339a94Sopenharmony_ci## Methods 88c339a94Sopenharmony_ci 98c339a94Sopenharmony_ci### Constructor 108c339a94Sopenharmony_ci 118c339a94Sopenharmony_ciCreates a new _empty_ instance of a `Napi::Number` object. 128c339a94Sopenharmony_ci 138c339a94Sopenharmony_ci```cpp 148c339a94Sopenharmony_ciNapi::Number(); 158c339a94Sopenharmony_ci``` 168c339a94Sopenharmony_ci 178c339a94Sopenharmony_ciReturns a new _empty_ `Napi::Number` object. 188c339a94Sopenharmony_ci 198c339a94Sopenharmony_ci### Constructor 208c339a94Sopenharmony_ci 218c339a94Sopenharmony_ciCreates a new instance of a `Napi::Number` object. 228c339a94Sopenharmony_ci 238c339a94Sopenharmony_ci```cpp 248c339a94Sopenharmony_ciNapi::Number(napi_env env, napi_value value); 258c339a94Sopenharmony_ci``` 268c339a94Sopenharmony_ci 278c339a94Sopenharmony_ci - `[in] env`: The `napi_env` environment in which to construct the `Napi::Number` object. 288c339a94Sopenharmony_ci - `[in] value`: The JavaScript value holding a number. 298c339a94Sopenharmony_ci 308c339a94Sopenharmony_ci Returns a non-empty `Napi::Number` object. 318c339a94Sopenharmony_ci 328c339a94Sopenharmony_ci ### New 338c339a94Sopenharmony_ci 348c339a94Sopenharmony_ci Creates a new instance of a `Napi::Number` object. 358c339a94Sopenharmony_ci 368c339a94Sopenharmony_ci```cpp 378c339a94Sopenharmony_ciNapi::Number Napi::Number::New(napi_env env, double value); 388c339a94Sopenharmony_ci``` 398c339a94Sopenharmony_ci - `[in] env`: The `napi_env` environment in which to construct the `Napi::Number` object. 408c339a94Sopenharmony_ci - `[in] value`: The C++ primitive from which to instantiate the `Napi::Number`. 418c339a94Sopenharmony_ci 428c339a94Sopenharmony_ciCreates a new instance of a `Napi::Number` object. 438c339a94Sopenharmony_ci 448c339a94Sopenharmony_ci### Int32Value 458c339a94Sopenharmony_ci 468c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `int32_t` primitive type. 478c339a94Sopenharmony_ci 488c339a94Sopenharmony_ci```cpp 498c339a94Sopenharmony_ciNapi::Number::Int32Value() const; 508c339a94Sopenharmony_ci``` 518c339a94Sopenharmony_ci 528c339a94Sopenharmony_ciReturns the `int32_t` primitive type of the corresponding `Napi::Number` object. 538c339a94Sopenharmony_ci 548c339a94Sopenharmony_ci### Uint32Value 558c339a94Sopenharmony_ci 568c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `uint32_t` primitive type. 578c339a94Sopenharmony_ci 588c339a94Sopenharmony_ci```cpp 598c339a94Sopenharmony_ciNapi::Number::Uint32Value() const; 608c339a94Sopenharmony_ci``` 618c339a94Sopenharmony_ci 628c339a94Sopenharmony_ciReturns the `uint32_t` primitive type of the corresponding `Napi::Number` object. 638c339a94Sopenharmony_ci 648c339a94Sopenharmony_ci### Int64Value 658c339a94Sopenharmony_ci 668c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `int64_t` primitive type. 678c339a94Sopenharmony_ci 688c339a94Sopenharmony_ci```cpp 698c339a94Sopenharmony_ciNapi::Number::Int64Value() const; 708c339a94Sopenharmony_ci``` 718c339a94Sopenharmony_ci 728c339a94Sopenharmony_ciReturns the `int64_t` primitive type of the corresponding `Napi::Number` object. 738c339a94Sopenharmony_ci 748c339a94Sopenharmony_ci### FloatValue 758c339a94Sopenharmony_ci 768c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `float` primitive type. 778c339a94Sopenharmony_ci 788c339a94Sopenharmony_ci```cpp 798c339a94Sopenharmony_ciNapi::Number::FloatValue() const; 808c339a94Sopenharmony_ci``` 818c339a94Sopenharmony_ci 828c339a94Sopenharmony_ciReturns the `float` primitive type of the corresponding `Napi::Number` object. 838c339a94Sopenharmony_ci 848c339a94Sopenharmony_ci### DoubleValue 858c339a94Sopenharmony_ci 868c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `double` primitive type. 878c339a94Sopenharmony_ci 888c339a94Sopenharmony_ci```cpp 898c339a94Sopenharmony_ciNapi::Number::DoubleValue() const; 908c339a94Sopenharmony_ci``` 918c339a94Sopenharmony_ci 928c339a94Sopenharmony_ciReturns the `double` primitive type of the corresponding `Napi::Number` object. 938c339a94Sopenharmony_ci 948c339a94Sopenharmony_ci## Operators 958c339a94Sopenharmony_ci 968c339a94Sopenharmony_ciThe `Napi::Number` class contains a set of operators to easily cast JavaScript 978c339a94Sopenharmony_ci`Number` object to one of the following primitive types: 988c339a94Sopenharmony_ci 998c339a94Sopenharmony_ci - `int32_t` 1008c339a94Sopenharmony_ci - `uint32_t` 1018c339a94Sopenharmony_ci - `int64_t` 1028c339a94Sopenharmony_ci - `float` 1038c339a94Sopenharmony_ci - `double` 1048c339a94Sopenharmony_ci 1058c339a94Sopenharmony_ci### operator int32_t 1068c339a94Sopenharmony_ci 1078c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `int32_t` primitive. 1088c339a94Sopenharmony_ci 1098c339a94Sopenharmony_ci```cpp 1108c339a94Sopenharmony_ciNapi::Number::operator int32_t() const; 1118c339a94Sopenharmony_ci``` 1128c339a94Sopenharmony_ci 1138c339a94Sopenharmony_ciReturns the `int32_t` primitive type of the corresponding `Napi::Number` object. 1148c339a94Sopenharmony_ci 1158c339a94Sopenharmony_ci### operator uint32_t 1168c339a94Sopenharmony_ci 1178c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `uint32_t` primitive type. 1188c339a94Sopenharmony_ci 1198c339a94Sopenharmony_ci```cpp 1208c339a94Sopenharmony_ciNapi::Number::operator uint32_t() const; 1218c339a94Sopenharmony_ci``` 1228c339a94Sopenharmony_ci 1238c339a94Sopenharmony_ciReturns the `uint32_t` primitive type of the corresponding `Napi::Number` object. 1248c339a94Sopenharmony_ci 1258c339a94Sopenharmony_ci### operator int64_t 1268c339a94Sopenharmony_ci 1278c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `int64_t` primitive type. 1288c339a94Sopenharmony_ci 1298c339a94Sopenharmony_ci```cpp 1308c339a94Sopenharmony_ciNapi::Number::operator int64_t() const; 1318c339a94Sopenharmony_ci``` 1328c339a94Sopenharmony_ci 1338c339a94Sopenharmony_ciReturns the `int64_t` primitive type of the corresponding `Napi::Number` object. 1348c339a94Sopenharmony_ci 1358c339a94Sopenharmony_ci### operator float 1368c339a94Sopenharmony_ci 1378c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `float` primitive type. 1388c339a94Sopenharmony_ci 1398c339a94Sopenharmony_ci```cpp 1408c339a94Sopenharmony_ciNapi::Number::operator float() const; 1418c339a94Sopenharmony_ci``` 1428c339a94Sopenharmony_ci 1438c339a94Sopenharmony_ciReturns the `float` primitive type of the corresponding `Napi::Number` object. 1448c339a94Sopenharmony_ci 1458c339a94Sopenharmony_ci### operator double 1468c339a94Sopenharmony_ci 1478c339a94Sopenharmony_ciConverts a `Napi::Number` value to a `double` primitive type. 1488c339a94Sopenharmony_ci 1498c339a94Sopenharmony_ci```cpp 1508c339a94Sopenharmony_ciNapi::Number::operator double() const; 1518c339a94Sopenharmony_ci``` 1528c339a94Sopenharmony_ci 1538c339a94Sopenharmony_ciReturns the `double` primitive type of the corresponding `Napi::Number` object. 1548c339a94Sopenharmony_ci 1558c339a94Sopenharmony_ci### Example 1568c339a94Sopenharmony_ci 1578c339a94Sopenharmony_ciThe following shows an example of casting a number to an `uint32_t` value. 1588c339a94Sopenharmony_ci 1598c339a94Sopenharmony_ci```cpp 1608c339a94Sopenharmony_ciuint32_t operatorVal = Napi::Number::New(Env(), 10.0); // Number to unsigned 32 bit integer 1618c339a94Sopenharmony_ci// or 1628c339a94Sopenharmony_ciauto instanceVal = info[0].As<Napi::Number>().Uint32Value(); 1638c339a94Sopenharmony_ci``` 164