[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A Contest
At 04:50 AM 3/3/96 -0500, Ellie wysiwyg wrote:
>To All:
>
>I hereby declare a contest, the winner wins the resault amount in dollars !!!
>Terms:He who first finds a 'fix' to the following script, so it gives the
>correct answer(by the widespread euclidean system). AND explains the
>existing resualt.
>
>Here it is:
>document.write(eval(0.85-0.05))
>
>The check is waiting for YOU !
>
>Ellie.
Here it is!
<SCRIPT LANGUAGE="JavaScript">
<!--
// Permission to use/change this code is granted for all purposes
// as long as this header remains in tact.
//
// Parameters --
// input -- pass in any number (int,float)
// output -- returns a STRING rounded off to 100ths place
//
// (C) 1996 Andy Augustine for Frequency Graphics 3.1.96
//
function moneyFormat(input) {
var output = 0 // tried to force a # by typing
var dollars = Math.floor(input)
var cents = "" + Math.round(input * 100)
cents = cents.substring (cents.length-2, cents.length)
input = dollars + "." + cents
output = input
return (output)
}
var temp = (.85 - .05)
alert(moneyFormat(temp))
// -->
</SCRIPT>
The first attempt in this code was to 'type' output as a number (float/int)
so that when it was assigned the value of input, it would be represented as
a number. The problem lies in the fact that parseFloat is internally called
(I assume) when you try to say "output = 1 * (0 + input)". But all you
wanted was to be able to write() the result (instead of return a
non-string), and my function does that.
BTW.. more on this available at JavaScript 411.
Andy Augustine
http://www.his.com/~smithers/freq/beta/index.html
--------------------------------------------------------------------
For help about the list, please send a message to 'majordomo@obscure.org'
with the message body 'help'. To unsubscribe, send a message to
'majordomo@obscure.org' with the message body 'unsubscribe javascript'.
List archives and pointer to FAQ: http://www.obscure.org/javascript/