字符串构建内部的Javascript字符串到浮点的转换



我正在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')`

最新更新