我跟踪了代表 CSV 和 JSON 位置的单个对象:
"value_location1": {
"json_lat": "-118.3844000",
"csv_lat": "-118.3844"
},
"value_location2": {
"json_lat": "-117.933122",
"csv_lat": "-117.933122"
},
实际上,我有这些对象的145k(重要)数组,我需要找到制作value_location.csv_lat
和value_location.json_lat
的好方法> 平等。
如您所见,当 csv_lat
- -118.3844
时,json_lat
提供 -118.3844000
。
两者的值与 double 相同,但与 String 不同,
高性能应该怎样实现?
最佳答案
您是否想将这些字符串转换为 float ?然后使用parseFloat() ,然后您可以将它们作为 float 进行比较 ( be aware of the rules )
value_location.csv_lat = parseFloat(value_location.csv_lat, 10);
// value_location.json_lat is the number -118.3844
value_location.json_lat = parseFloat(value_location.json_lat, 10);
// value_location.csv_lat is the number -118.3844
您是否试图删除字符串末尾多余的 0,无论冒号后面有多少位数字?如果是这样,只需在 parseFloat() 之后将它们转换回字符串
value_location.csv_lat = parseFloat(value_location.csv_lat, 10) + '';
// value_location.json_lat is the string "-118.3844"
value_location.json_lat = parseFloat(value_location.json_lat, 10) + '';
// value_location.csv_lat is the string "-118.3844"
关于javascript - 在 JavaScript 中比较位置的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17133373/