本文整理汇总了C++中rapidjson::Value::IsNumber方法的典型用法代码示例。如果您正苦于以下问题:C++ Value::IsNumber方法的具体用法?C++ Value::IsNumber怎么用?C++ Value::IsNumber使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rapidjson::Value
的用法示例。
在下文中一共展示了Value::IsNumber方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: readFromValue
bool MultitypeVar::readFromValue(const rapidjson::Value& obj)
{
if (obj.IsNull())
{
mType = MultitypeNull;
}
else if (obj.IsBool())
{
mType = MultitypeBool;
mBool = obj.GetBool();
}
else if (obj.IsNumber())
{
mType = MultitypeNumber;
mNumber = obj.GetDouble();
}
else if (obj.IsString())
{
mType = MultitypeNumber;
mString = obj.GetString();
}
else
{
mType = MultitypeNull;
return false;
}
return true;
}
示例2: get_value
double get_value(const rapidjson::Value& root, const char* key)
{
if (key != nullptr)
{
if (root[key].IsNumber() && root.HasMember(key))
return root[key].GetDouble();
else
throw std::system_error(std::error_code(), "Parse error.");
}
else
{
if (root.IsNumber())
return root.GetDouble();
else
throw std::system_error(std::error_code(), "Parse error.");
}
}
示例3: toString
std::string SettingRegistry::toString(const rapidjson::Value& dflt, std::string setting_name)
{
if (dflt.IsString())
{
return dflt.GetString();
}
else if (dflt.IsTrue())
{
return "true";
}
else if (dflt.IsFalse())
{
return "false";
}
else if (dflt.IsNumber())
{
std::ostringstream ss;
ss << dflt.GetDouble();
return ss.str();
}
else if (dflt.IsArray())
{
std::stringstream ss;
ss << "[";
bool first = true;
for (auto it = dflt.Begin(); it != dflt.End(); ++it)
{
if (!first)
{
ss << ",";
}
ss << toString(*it);
first = false;
}
ss << "]";
return ss.str();
}
else
{
logError("Unrecognized data type in JSON: %s has type %s\n", setting_name.c_str(), toString(dflt.GetType()).c_str());
return "";
}
}
示例4: traverse_rapidjson
double traverse_rapidjson(const rapidjson::Value &v)
{
double x = 0;
if (v.IsObject())
{
for (auto i = v.MemberBegin(); i != v.MemberEnd(); ++i)
{
x += traverse_rapidjson(i->value);
}
}
else if (v.IsArray())
{
for (auto i = v.Begin(); i != v.End(); ++i)
{
x += traverse_rapidjson(*i);
}
}
else if (v.IsNumber())
{
x = v.GetDouble();
}
return x;
}
示例5: Deserialize_Float
float Deserialize_Float(const rapidjson::Value& value)
{
assert(value.IsNumber());
return value.GetFloat();
}