Skip to content

nlohmann::basic_json::is_number_integer

constexprboolis_number_integer()constnoexcept;

This function returns true if and only if the JSON value is a signed or unsigned integer number. This excludes floating-point values.

Return value

true if type is an integer or unsigned integer number, false otherwise.

Exception safety

No-throw guarantee: this member function never throws exceptions.

Complexity

Constant.

Examples

Example

The following code exemplifies is_number_integer() for all JSON types.

#include<iostream>
#include<nlohmann/json.hpp>
usingjson=nlohmann::json;
intmain()
{
// create JSON values
jsonj_null;
jsonj_boolean=true;
jsonj_number_integer=17;
jsonj_number_unsigned_integer=12345678987654321u;
jsonj_number_float=23.42;
jsonj_object={{"one",1},{"two",2}};
jsonj_array={1,2,4,8,16};
jsonj_string="Hello, world";
jsonj_binary=json::binary({1,2,3});
// call is_number_integer()
std::cout<<std::boolalpha;
std::cout<<j_null.is_number_integer()<<'\n';
std::cout<<j_boolean.is_number_integer()<<'\n';
std::cout<<j_number_integer.is_number_integer()<<'\n';
std::cout<<j_number_unsigned_integer.is_number_integer()<<'\n';
std::cout<<j_number_float.is_number_integer()<<'\n';
std::cout<<j_object.is_number_integer()<<'\n';
std::cout<<j_array.is_number_integer()<<'\n';
std::cout<<j_string.is_number_integer()<<'\n';
std::cout<<j_binary.is_number_integer()<<'\n';
}

Output:

false
false
true
true
false
false
false
false
false

See also

Version history

  • Added in version 1.0.0.
  • Extended to also return true for unsigned integers in 2.0.0.

AltStyle によって変換されたページ (->オリジナル) /