今天遇到一个问题就是同样的公式同样用js的ScriptV8Engine进行计算计算的值却是不同的
后来找到了一个原因就是我在进行计算的时候,两个方法填入负数的方式不一样一个填入的是字符串的-1,-2 第二个方法用的是一个Double一个字符串
由此想问题一下这js对比的时候是怎么对比的字符串对于负数对比时好像是把符号变没吗? 然后有一个Double这样的类型就按Double这样的类型对比就能辨别负号吗
今天遇到一个问题就是同样的公式同样用js的ScriptV8Engine进行计算计算的值却是不同的
后来找到了一个原因就是我在进行计算的时候,两个方法填入负数的方式不一样一个填入的是字符串的-1,-2 第二个方法用的是一个Double一个字符串
由此想问题一下这js对比的时候是怎么对比的字符串对于负数对比时好像是把符号变没吗? 然后有一个Double这样的类型就按Double这样的类型对比就能辨别负号吗
收起
是的,在 JavaScript 中,字符串当做数字进行比较时会先尝试将其转换为数字。因此,当您对字符串 "-1" 和数字 -1 进行比较时,它们会被视为相等。然而,在计算过程中,字符串当作数字是不可靠的,因为可能导致类型不匹配或语法错误。为了避免这种情况,建议使用 Number 类型进行数字操作,这样可以确保准确性。如果需要将字符串转换为数字,可以使用 parseFloat 或 parseInt 函数。
那-1和-2的字符串比呢 谁大的这个判断过程是怎么样的
报告相同问题?