mirror of
https://github.com/pantor/inja.git
synced 2026-05-01 19:42:28 +00:00
Merge branch 'master' of github.com:pantor/inja
This commit is contained in:
@@ -437,7 +437,11 @@ class Renderer : public NodeVisitor {
|
||||
const auto args = get_arguments<2>(node);
|
||||
const int precision = args[1]->get<int>();
|
||||
const double result = std::round(args[0]->get<double>() * std::pow(10.0, precision)) / std::pow(10.0, precision);
|
||||
result_ptr = std::make_shared<json>(std::move(result));
|
||||
if(0==precision){
|
||||
result_ptr = std::make_shared<json>(int(result));
|
||||
}else{
|
||||
result_ptr = std::make_shared<json>(std::move(result));
|
||||
}
|
||||
json_tmp_stack.push_back(result_ptr);
|
||||
json_eval_stack.push(result_ptr.get());
|
||||
} break;
|
||||
|
||||
@@ -3933,7 +3933,11 @@ class Renderer : public NodeVisitor {
|
||||
const auto args = get_arguments<2>(node);
|
||||
const int precision = args[1]->get<int>();
|
||||
const double result = std::round(args[0]->get<double>() * std::pow(10.0, precision)) / std::pow(10.0, precision);
|
||||
result_ptr = std::make_shared<json>(std::move(result));
|
||||
if(0==precision){
|
||||
result_ptr = std::make_shared<json>(int(result));
|
||||
}else{
|
||||
result_ptr = std::make_shared<json>(std::move(result));
|
||||
}
|
||||
json_tmp_stack.push_back(result_ptr);
|
||||
json_eval_stack.push(result_ptr.get());
|
||||
} break;
|
||||
|
||||
@@ -88,7 +88,7 @@ TEST_CASE("functions") {
|
||||
}
|
||||
|
||||
SUBCASE("round") {
|
||||
CHECK(env.render("{{ round(4, 0) }}", data) == "4.0");
|
||||
CHECK(env.render("{{ round(4, 0) }}", data) == "4");
|
||||
CHECK(env.render("{{ round(temperature, 2) }}", data) == "25.68");
|
||||
// CHECK_THROWS_WITH( env.render("{{ round(name, 2) }}", data), "[inja.exception.json_error]
|
||||
// [json.exception.type_error.302] type must be number, but is string" );
|
||||
|
||||
Reference in New Issue
Block a user