Adnan

asked on

# How to calculate distance in (km) is lower then given distance in string (km)

HI

I want to calculate distance is within the range of 1.0 km.

Iam using google distanematrix to get the distance in km to the place, and its working fine.

function returns a string, witch looks like f.eks:

- "0.9 km"

- "6.9 km"

I want to calculate so that distance is within the range of 1.0 km and not higher, but lower is ok...

But some times i also get distance in meter when iam close to the place, f.eks:

"14 m"

"20 m"

So how can i calculate correct distance if i get distance in double string value or as an int value?

Here is my if statement where iam checking the returned distance in km is lower then "1.0 km"

iam not getting the correct result with the code above, any suggestion for how i can calculate the correct way will be really appriciated...

Thanks in advance

I want to calculate distance is within the range of 1.0 km.

Iam using google distanematrix to get the distance in km to the place, and its working fine.

function returns a string, witch looks like f.eks:

- "0.9 km"

- "6.9 km"

I want to calculate so that distance is within the range of 1.0 km and not higher, but lower is ok...

But some times i also get distance in meter when iam close to the place, f.eks:

"14 m"

"20 m"

So how can i calculate correct distance if i get distance in double string value or as an int value?

Here is my if statement where iam checking the returned distance in km is lower then "1.0 km"

```
var dist = str.split(" "); //Split so i can only get the value and not the string "km"
if (Math.round(dist[0] * 100) <= Math.round('1.0' * 100)) {
alert('you are in the range')
}
else{
alert('you are to far away')
}
```

iam not getting the correct result with the code above, any suggestion for how i can calculate the correct way will be really appriciated...

Thanks in advance

ASKER

Thanks for the response...

but what about if i get distance in meters f.eks ("20 m") and not km (4.4) ?

but what about if i get distance in meters f.eks ("20 m") and not km (4.4) ?

ASKER CERTIFIED SOLUTION

membership

This solution is only available to members.

To access this solution, you must be a member of Experts Exchange.

```
<script>
var dist = "43 m";
var result = dist.match(/^(\d+[\.]?[\d+]?)\s+(.*)$/);
if (result) {
// convert to meters
var newdist = result[1] * (result[2] == 'km' ? 1000 : 1);
console.log(newdist);
}
</script>
```

Open in new window