From: CY on
On 14 Dec, 19:43, "Rick Rothstein"
<rick.newsNO.S...(a)NO.SPAMverizon.net> wrote:
> > It's not that simple. One way to compare doubles is to use a function like
> > the following, which return the same result as StrComp():
>
> > Public Function DblComp(ByRef d1 As Double, ByRef d2 As Double) As Long
> >    Dim d As Double
>
> >    d = d1 - d2
>
> >    If Abs(d) < 0.000000001 Then
> >        DblComp = 0 ' Equal
> >    ElseIf d > 0 Then
> >        DblComp = 1 ' d1 > d2
> >    Else
> >        DblComp = -1 ' d1 < d2
> >    End If
> > End Function
>
> As a one-liner...
>
> Public Function DblComp(ByRef d1 As Double, ByRef d2 As Double) As Long
>   DblComp = Sgn(d2 - d1) * (Abs(d2 - d1) >= 0.000000001)
> End Function
>
> --
> Rick (MVP - Excel)

Oops, can be more than true false... sorry, fingers faster than brain
as always.
From: Jim Mack on
CY wrote:
>>
>> Public Function DblComp(ByRef d1 As Double, ByRef d2 As Double) As
>> Long DblComp = Sgn(d2 - d1) * (Abs(d2 - d1) >= 0.000000001)
>> End Function
>>
>> --
>> Rick (MVP - Excel)
>
> Returning a boolean as a long?
> ;) //CY

Naw, it's a troolian. (-:
From: Rick Rothstein on
>>> Public Function DblComp(ByRef d1 As Double, ByRef d2 As Double) As
>>> Long DblComp = Sgn(d2 - d1) * (Abs(d2 - d1) >= 0.000000001)
>>> End Function
>>>
>>> --
>>> Rick (MVP - Excel)
>>
>> Returning a boolean as a long?
>> ;) //CY
>
> Naw, it's a troolian. (-:

Shouldn't that be spelled Troolean? <g>

--
Rick (MVP - Excel)

From: Horst Heinrich Dittgens on
> Further more, you can not safely store arbitrary binary data in a string.

Hmm, why not? I think VB's strings can contain nulls without
loosing/truncating them when strings are copied. And if they are converted
into unicode the should be converted back errorfree, or not?


From: Dee Earley on
On 15/12/2009 16:00, Horst Heinrich Dittgens wrote:
>> Further more, you can not safely store arbitrary binary data in a string.
>
> Hmm, why not? I think VB's strings can contain nulls without
> loosing/truncating them when strings are copied. And if they are
> converted into unicode the should be converted back errorfree, or not?

Yes, nulls characters are fine.
You will get problems on any machine that is using a non ANSI character
set as "binary" data in a string will, quite rightly, be treated as
foreign characters and converted to/from MBCS in their charset to unicode.

--
Dee Earley (dee.earley(a)icode.co.uk)
i-Catcher Development Team

iCode Systems
First  |  Prev  |  Next  |  Last
Pages: 1 2 3
Prev: Lasso Flipping Revisited
Next: How to get milliseconds ?