# NaN return

**URL:** <https://www.ruby-forum.com/t/nan-return/90734>\
**Category:** Ruby\
**Created:** [March 31, 2007, 4:35pm UTC](https://www.ruby-forum.com/t/nan-return/90734 "2007-03-31T16:35:29Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Josselin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de0a6/32.png) [@Josselin](https://www.ruby-forum.com/u/Josselin)\
**Post date:** [March 31, 2007, 4:35pm UTC](https://www.ruby-forum.com/t/nan-return/90734/1 "2007-03-31T16:35:29Z")

</div>

I am using a method ‘distance\_to’ from a lib returning a distance in  
Float type based on latitude/longitude

```
@ proposals.each do | proposal |
    cd = proposal.distance_to(current_city)
    @d = cd if (@d <=> cd) > 0
  end

```

a problem arise when the proposal latitude/longitude are equivalent to  
current\_city latitude/longitude  
in this case it returns NaN (and not 0.0… don’t know why…)  
if I don’t modify the lib script, how I can get bypass this results  
(obviously I don’t care about 0.0 distance)

something like…  
cd = proposal.distance\_to(current\_city) != NaN ?  
proposal.distance\_to(current\_city) : 0.0

---

<div class="post-metadata">

**Author:** ![Josselin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de0a6/32.png) [@Josselin](https://www.ruby-forum.com/u/Josselin)\
**Post date:** [March 31, 2007, 4:44pm UTC](https://www.ruby-forum.com/t/nan-return/90734/2 "2007-03-31T16:44:30Z")

</div>

On 3/31/07, Josselin [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> something like…  
> cd = proposal.distance\_to(current\_city) != NaN ?  
> proposal.distance\_to(current\_city) : 0.0

Float has a ‘nan?’ method  
([class Float - RDoc Documentation](http://www.ruby-doc.org/core/classes/Float.html#M000244)).

---

<div class="post-metadata">

**Author:** ![Josselin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de0a6/32.png) [@Josselin](https://www.ruby-forum.com/u/Josselin)\
**Post date:** [March 31, 2007, 5:15pm UTC](https://www.ruby-forum.com/t/nan-return/90734/3 "2007-03-31T17:15:38Z")

</div>

On 2007-03-31 16:43:58 +0200, “Luis P.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
said:

> On 3/31/07, Josselin [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > something like…  
> > cd = proposal.distance\_to(current\_city) != NaN ?  
> > proposal.distance\_to(current\_city) : 0.0
> 
> Float has a ‘nan?’ method  
> ([class Float - RDoc Documentation](http://www.ruby-doc.org/core/classes/Float.html#M000244)).

thanks, I got it to test and replace cd : cd = 0.0 if cd.nan?

Float comparison is quite strange :  
cd = 0.0  
=\> 0.0

irb(main):010:0\> d = 0.197314075476553  
=\> 0.197314075476553

irb(main):011:0\> (cd \<=\> d) \> 0  
=\> false

BUT …

irb(main):006:0\> cd = 0.693524996891893  
=\> 0.693524996891893

irb(main):007:0\> d = 0.197314075476553  
=\> 0.197314075476553

irb(main):008:0\> (cd \<=\> d) \> 0  
=\> true

so 0.693524996891893 seems to be greater than 0.197314075476553 ???

---

<div class="post-metadata">

**Author:** ![Josselin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de0a6/32.png) [@Josselin](https://www.ruby-forum.com/u/Josselin)\
**Post date:** [March 31, 2007, 5:38pm UTC](https://www.ruby-forum.com/t/nan-return/90734/4 "2007-03-31T17:38:40Z")

</div>

On 3/31/07, Josselin [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> so 0.693524996891893 seems to be greater than 0.197314075476553 ???

0.693524996891893 IS greater than 0.197314075476553 !!

---

<div class="post-metadata">

**Author:** ![Josselin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de0a6/32.png) [@Josselin](https://www.ruby-forum.com/u/Josselin)\
**Post date:** [April 10, 2007, 2:10pm UTC](https://www.ruby-forum.com/t/nan-return/90734/5 "2007-04-10T14:10:44Z")

</div>

On 2007-03-31 17:38:11 +0200, “Luis P.” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
said:

> On 3/31/07, Josselin [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > so 0.693524996891893 seems to be greater than 0.197314075476553 ???
> 
> 0.693524996891893 IS greater than 0.197314075476553 !!

As I discover it few times after my post, I spent sometime away in a  
ruby-church requiring forgiveness for my silly question… I also  
bought new glasses ;-))) before coming back crawling on the ground and  
raising my hands on the keyboard

thanks ;-)))

joss

---

<div class="post-metadata">

**Author:** ![Josselin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/9de0a6/32.png) [@Josselin](https://www.ruby-forum.com/u/Josselin)\
**Post date:** [March 31, 2007, 6:05pm UTC](https://www.ruby-forum.com/t/nan-return/90734/6 "2007-03-31T18:05:42Z")

</div>

> so 0.693524996891893 seems to be greater than 0.197314075476553 ???

becasue 0.6 is greater than 0.1 !

On 3/31/07, Josselin [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> thanks, I got it to test and replace cd : cd = 0.0 if cd.nan?
> 
> so 0.693524996891893 seems to be greater than 0.197314075476553 ???

–  
Husein C.,  
CEO, CTO  
Yucca Intelligence Development

> **[قفل دیجیتال | قفل هوشمند | قفل الکترونیکی کره‌ای | یوکا](https://yuccahq.com/)**
>
> نگران قیمت بی‌ثبات هستی؟ از تخصصی‌ترین برند قفل هوشمند با اطمینان و تضمین قیمت خرید کن! معتبرترین برند کره جنوبی:قفل الکترونیکی یوکا همین الان تماس بگیرید و از تخفیف‌های شگفت‌انگیز ما استفاده کنید.

We make the web a better place!
