Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Работа с числами (https://javascript.ru/forum/misc/37982-rabota-s-chislami.html)

tai 16.05.2013 10:34

Работа с числами
 
Добрый день!!!

Помогите пожалуйста разобраться с числами

Есть такой скрипт (калькулятор)

<script language="JavaScript">							
				function numsym(obj) 
				{						
					var dp=obj.dp.value;
					var dsh=obj.dsh.value;
					var dav=obj.dav.value;
                    
					var res1=dav*3.141569*dp*dp/4;
					var res2=res1/9.80665;
					var res3=(dp*dp-dsh*dsh)*dav*3.141569/4;
					var res4=res3/9.80665;
					
					obj.fvid1.value=res1.toFixed();
					obj.fvid2.value=res2.toFixed(3);
					obj.fvtg1.value=res3.toFixed();
					obj.fvtg2.value=res4.toFixed(3);
				}				
				</script>



Данные берет и записывает здесь


<form name="form1"> 
  <div id="calk_ft"> 					
    <p><span id="nm">Диаметр поршня:</span> <span>мм</span><input type="text" name="dp" /></p>
   					
    <p><span id="nm">Диаметр штока:</span> <span>мм</span><input type="text" name="dsh" /></p>
   					
    <p><span id="nm">Давление:</span> <span>МПа</span><input type="text" name="dav" /></p>
   </div>
 					
  <p style="margin-top: 20px;"><input type="button" value="Результат" onclick="numsym(form1)" /> <input type="reset" value="Очистить" /></p>
 					
  <br />
 					Сила выдвижения: 
  <br />
<input type="text" name="fvid1" /> Н
  <br />
<input type="text" name="fvid2" /> кгс
  <br />
 					Сила втягивания: 
  <br />
<input type="text" name="fvtg1" /> Н
  <br />
<input type="text" name="fvtg2" /> кгс
  <br />
 				</form>



1) Если вводить данные через точку, то все в порядке, а если через запятую, то результат не выводится - выводится NaN

Можно ли сделать так, чтобы ввод данных был и по "." и по "," ?


2) Результат выводится так 9500. Можно ли сделать так чтобы через каждые 3 цифры был пробел, т.е. так - 9 500, 13 000, 656 746 000 и т.п. ?

Skipp 16.05.2013 10:51

alert('1,5'.replace(',','.') * 3)

Hekumok 16.05.2013 12:51

function gap(n) {
  return n.replace(/\d{0,3}(?=(\d{3})+$)/g, "$& ") ;
}
alert([gap("320"), gap("1234567890")]) ;

tai 18.05.2013 18:57

Спасибо!!!

Aetae 18.05.2013 19:29

tai,
http://javascript.ru/forum/jquery/38...tml#post251269


Часовой пояс GMT +3, время: 12:01.