fix: error when output float
This commit is contained in:
@ -46,16 +46,20 @@ void FucntionContainer::AddFunction(const std::string &name,
|
||||
FunctionIndex[name] = item;
|
||||
}
|
||||
|
||||
std::any FucntionContainer::CallFunction(
|
||||
const std::string &name, const std::vector<ParaArguItemType> &args,
|
||||
VariableContainer &Variables) {
|
||||
std::any FucntionContainer::CallFunction(const std::string &name,
|
||||
std::vector<ParaArguItemType> &args,
|
||||
VariableContainer &Variables) {
|
||||
if (name == "print") {
|
||||
bool is_first = true;
|
||||
for (int i = 0; i < args.size(); i++) {
|
||||
if (!is_first) std::cout << ' ';
|
||||
is_first = false;
|
||||
std::string buf = Any2String(args[i].value);
|
||||
std::cout << buf;
|
||||
double *value_ptr = std::any_cast<double>(&args[i].value);
|
||||
if (!value_ptr) {
|
||||
std::string buf = Any2String(args[i].value);
|
||||
std::cout << buf;
|
||||
} else
|
||||
std::cout << std::fixed << std::setprecision(6) << *value_ptr;
|
||||
}
|
||||
std::cout << '\n';
|
||||
return nullptr;
|
||||
|
Reference in New Issue
Block a user