469,304 Members | 1,759 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,304 developers. It's quick & easy.

adding


I am occasionally having problems with adding numbers together. Sometimes
(not always) 2 + 2 = 22, Obviousy this is a string issue. I am using the
following method to overcome this problem, however I feel it is a bit
contrived, and i am sure there is a proper way of doing it!

var asd = 2
var zxc=2
asd=asd-(-1*zxc)
Jul 20 '05 #1
4 1924
"Stuart" <kf****@yytd.gft> writes:
I am occasionally having problems with adding numbers together. Sometimes
(not always) 2 + 2 = 22, Obviousy this is a string issue. I am using the
following method to overcome this problem, however I feel it is a bit
contrived, and i am sure there is a proper way of doing it!


<URL:http://jibbering.com/faq/#FAQ4_21>

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
Jul 20 '05 #2
On Wed, 5 Nov 2003, Stuart wrote:
I am occasionally having problems with adding numbers together. Sometimes
(not always) 2 + 2 = 22, Obviousy this is a string issue. I am using the
following method to overcome this problem, however I feel it is a bit
contrived, and i am sure there is a proper way of doing it!


If I want to force conversion, and I'm lazy, I go:

baz = 0 + foo + bar;

It's the same ideas as when you want to turn stuff into a string:

baz = "" + foo + bar;

But in general, 2 + 2 should /never/ give you 22. Unless you're pulling
the numbers from, say a input box (in which case you're pulling text!)

Regards,
Svend
Jul 20 '05 #3
"Svend Ezaki Tofte (DIKU)" <di******@diku.dk> writes:
If I want to force conversion, and I'm lazy, I go:

baz = 0 + foo + bar;
That would be *too* lazy.

var foo="2", bar="2";
alert(0 + foo + bar);

This alerts "022". The type concversion favors strings over numbers,
so when you add a string to a number, the number is converted to a
string, not the other way around. The order doesn't matter.

Just do as the FAQ says :) The fastest method is the unary prefix
plus.
var baz = +foo + +bar;
<URL:http://jibbering.com/faq/#FAQ4_21>
It's the same ideas as when you want to turn stuff into a string:

baz = "" + foo + bar;


Which works, because the string wins, and evaluation is left to right.

/L
--
Lasse Reichstein Nielsen - lr*@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
Jul 20 '05 #4
JRS: In article <Pi*******************************@brok.diku.dk> , seen
in news:comp.lang.javascript, Svend Ezaki Tofte (DIKU)
<di******@diku.dk> posted at Thu, 6 Nov 2003 06:29:23 :-
On Wed, 5 Nov 2003, Stuart wrote:
I am occasionally having problems with adding numbers together. Sometimes
(not always) 2 + 2 = 22, Obviousy this is a string issue. I am using the
following method to overcome this problem, however I feel it is a bit
contrived, and i am sure there is a proper way of doing it!


If I want to force conversion, and I'm lazy, I go:

baz = 0 + foo + bar;


That's a nice easy method; the only fault, as far as I can see, is that
it does not work.

Tested solutions are safer.

Read the FAQ.

--
John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4
<URL:http://jibbering.com/faq/> Jim Ley's FAQ for news:comp.lang.javascript
<URL:http://www.merlyn.demon.co.uk/js-index.htm> JS maths, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/JS/&c., FAQ topics, links.
Jul 20 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

6 posts views Thread by Jamie Fryatt | last post: by
1 post views Thread by hzgt9b | last post: by
3 posts views Thread by Jim Heavey | last post: by
6 posts views Thread by vb | last post: by
9 posts views Thread by Kadett | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by harlem98 | last post: by
1 post views Thread by Geralt96 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.