我已经跟踪了表示来自csv和json的位置的单个对象:
"value_location1": {
"json_lat": "-118.3844000",
"csv_lat": "-118.3844"
},
"value_location2": {
"json_lat": "-117.933122",
"csv_lat": "-117.933122"
},
实际上我有这些对象 145k(importent)的数组,我需要找到让value_location.csv_lat
和value_location.json_lat
相等的好方法。
正如您json_lat
- -118.3844000
时csv_lat
提供-118.3844
一样。
两者的值与 double 相同,但不是 String ,
应该是什么,高绩效,这样做的方法?
谢谢,
答案 0 :(得分:3)
你的问题不清楚,请学习how to ask a good question(你说你“想让它们等于”但你想要的是检查字符串中包含的数字是否相等,这在全部)。
您是否尝试将这些字符串转换为浮点数?然后使用parseFloat(),然后您可以将它们作为浮点数(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"
答案 1 :(得分:1)
只需将值粘贴到浮点数并比较浮点值 或者您可能会遇到此问题Javascript: Comparing two float values
答案 2 :(得分:1)
不完全确定你的意思。如果你想要这个:
我需要找到使value_location.csv_lat和value_location.json_lat相等的好方法。
然后value_location.csv_lat = value_location.json_lat
将会有效。
答案 3 :(得分:0)
对于初学者来说,JavaScript只有number
数据类型。但是,如果您希望这两个数字等于相同string
,请使用toFixed()
方法获取所需的小数点数。像这样:
var example_number = 5.333000;
var rounded_number = example_number.toFixed(2);
alert(rounded_number);