ورود

View Full Version : سوال: تبدیل نوع در JavaScript



حسین شهریاری
پنج شنبه 20 خرداد 1389, 13:31 عصر
سلام

فرض کنید به روش زیر دو مقدار را از دو Text که در فرم HTML هست در یافت کرده و در متغیر میریزیم:

var num1=form1.txt1.value;
var num2=form1.txt2.value;
حالا میخام دو عدد از کاربر دریافت کنم و اونا را در قالب دو عدد با هم جمع کنم و دوباره به رشته تبدیلش کنم و بریزمش مثلا توی یه Text دیگه.ولی مشکلی که هست این هست که وقتی اونا را جمع میکنم مثل رشته باهاشون برخورد میشه و فقط به هم میچسبند.

در واقع من طریقه تبدیل نوعها در JavaScript را میخام.

ممنون

Vahid Faraji
پنج شنبه 20 خرداد 1389, 13:43 عصر
سلام. از کد زیر استفاده کن.


<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
function displaySum()
{
var num1=form1.txt1.value;
var num2=form1.txt2.value;
var sum = eval(num1) + eval(num2);
alert(sum);
}
</script>
</head>
<body>
<form id="form1" name="form1">
<input type="button" value="sum" onClick="displaySum()" />
<input type="text" name="txt1" id="txt1" value="" />
<input type="text" name="txt2" id="txt2" value="" />
</form>
</body>
</html>

Vahid Faraji
پنج شنبه 20 خرداد 1389, 14:18 عصر
سلام.
به جای استفاده از eval می تونی از parseInt هم استفاده کنی.

حسین شهریاری
پنج شنبه 20 خرداد 1389, 16:11 عصر
سلام

اگه از eval استفاده بشه دیگه محدودیت(-32767 تا +32768) هم ندارم درسته؟

Vahid Faraji
پنج شنبه 20 خرداد 1389, 17:38 عصر
سلام.
If the string is a numeric sring character, eval() returns the number
پس نباید داشته باشه.

eshpilen
پنج شنبه 20 خرداد 1389, 21:17 عصر
(num1-0)+(num2-0)البته من به یه روش دیگه هم از خوندن رفرنس ECMA پی برده بودم که فکر میکنم استانداردتر باشه ولی متاسفانه یادم نیست چی بود!