我正在Snowflake存储过程中准备数据库插入查询。
我的预期输出是2.0
console.log(`INSERT INTO MY_SCHEMA.MONITORING (COUNT, MESSAGE) VALUES (` + parseFloat('1.0') + 1 + `, 'DUM')`);
console.log(parseFloat('1.0') + 1);
第1行的输出:
INSERT INTO MY_SCHEMA.MONITORING (COUNT, MESSAGE) VALUES (11, 'DUM')
第二行的输出:
2
第一行发生了什么?为什么它返回11而不是2?
请记住,您正在连接一个字符串,因此如果您想在concat之前进行加法,则应该使用括号(parseFloat('1.0') + 1)
。使用toFixed()
函数指示逗号或点后的小数:
console.log(`INSERT INTO MY_SCHEMA.MONITORING (COUNT, MESSAGE) VALUES (` + (parseFloat('1.0') + 1).toFixed(1) + `, 'DUM')`);
console.log((parseFloat('1.0') + 1).toFixed(1));
您正在转换为float,然后立即连接到字符串中。相反,您可以使用您的模板文字。
`INSERT INTO MY_SCHEMA.MONITORING (COUNT, MESSAGE) VALUES (${parseFloat('1.0') + 1}, 'DUM')`