Of course if you try to compare two strings, it will be different ! Karate handles numbers perfectly well, looks like you haven't read the documentation or examples properly.
* def a = 1
* def b = 1.0
* match a == b
If your JSON responses are coming as strings, and you really want to compare them as numbers, you need to convert them. Refer to the docs here: https://github.com/intuit/karate#floats-and-integers
* def a = 1
* def b = '1.0'
* match a == b * 1
* match a == ~~b
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…