如何评估字符串是 Haxe 中的数字还是布尔值?
How do I evaluate if a string is a number or boolean in Haxe?
当我像这样评估 int 和 bool 时使用 Std.isOfType()
returns false
:
Std.isOfType('123', Int); // returns false instead of true
Std.isOfType('true', Bool); // returns false instead of true
那么正确的做法是什么?我总是会收到一个字符串,所以我想确定它的类型。
您提供的代码返回 false,因为您传递的是 String 数据类型,而不是您正在测试的数据类型。
要更正此问题,您只需将数据直接传递给 isOfType 方法,如下所示:
Std.isOfType(123, Int); // returns true
Std.isOfType(true, Bool); // returns true
如果你想传入一个字符串(就像你现在这样),那么你只需要在测试之前将字符串解析为合适的数据类型,例如:
Std.isOfType(Std.parseInt('123'), Int)
通过快速阅读文档,我没有找到将字符串布尔值解析为实际布尔值的方法。
当我像这样评估 int 和 bool 时使用 Std.isOfType()
returns false
:
Std.isOfType('123', Int); // returns false instead of true
Std.isOfType('true', Bool); // returns false instead of true
那么正确的做法是什么?我总是会收到一个字符串,所以我想确定它的类型。
您提供的代码返回 false,因为您传递的是 String 数据类型,而不是您正在测试的数据类型。
要更正此问题,您只需将数据直接传递给 isOfType 方法,如下所示:
Std.isOfType(123, Int); // returns true
Std.isOfType(true, Bool); // returns true
如果你想传入一个字符串(就像你现在这样),那么你只需要在测试之前将字符串解析为合适的数据类型,例如:
Std.isOfType(Std.parseInt('123'), Int)
通过快速阅读文档,我没有找到将字符串布尔值解析为实际布尔值的方法。