Google Dialogflow CX字符串转整数函数及类型比较问题咨询
Dialogflow CX 类型转换与跨类型比较相关问题解答
String到Integer类型转换的工具函数支持
- 在Dialogflow CX控制台原生的条件路由、参数赋值、会话参数处理等内置表达式场景中,平台自带类型转换能力,可直接使用内置的
int()函数完成字符串到整数的转换,示例写法为int($session.params.string_type_num),即可将存储为字符串格式的数值参数转为Integer类型,无需额外自定义转换逻辑。 - 如果你是通过webhook对接自有服务处理会话逻辑,Dialogflow CX不会额外提供独立的工具函数包,直接使用当前开发语言原生的整数转换方法即可,例如Python环境使用
int()、Node.js环境使用parseInt()都能完成对应转换。
String类型存储的数值与Integer类型整数的比较规则
- 不支持直接比较。Dialogflow CX的内置逻辑判断采用强类型校验规则,不会做隐式类型转换,如果直接将字符串格式的数值(例如字符串
"50")和整数类型的数值(例如整数50)做相等、大小比较,会返回不符合预期的判断结果。 - 正确的比较方式是:比较前先通过
int()函数将字符串格式的数值转为Integer类型,再执行比较操作。
错误写法示例:
$session.params.user_age = 18,当user_age参数是字符串类型的"18"时,该条件判断会判定为不成立。
正确写法示例:int($session.params.user_age) = 18,该写法可以得到正确的判断结果。
内容的提问来源于stack exchange,提问作者user3814565
相关产品推荐
相关产品推荐

