Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.05.2013, 10:34
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

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

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

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

<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 и т.п. ?
Ответить с цитированием
  #2 (permalink)  
Старый 16.05.2013, 10:51
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

alert('1,5'.replace(',','.') * 3)
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 16.05.2013, 12:51
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

function gap(n) {
  return n.replace(/\d{0,3}(?=(\d{3})+$)/g, "$& ") ;
}
alert([gap("320"), gap("1234567890")]) ;
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #4 (permalink)  
Старый 18.05.2013, 18:57
tai tai вне форума
Аспирант
Отправить личное сообщение для tai Посмотреть профиль Найти все сообщения от tai
 
Регистрация: 16.01.2013
Сообщений: 98

Спасибо!!!

Последний раз редактировалось tai, 18.05.2013 в 19:00.
Ответить с цитированием
  #5 (permalink)  
Старый 18.05.2013, 19:29
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

tai,
Разбиение числа по 3 символа (изящный способ)
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript фронтенд разработчик(долгосрочная, удаленная работа) cpp Работа 11 16.09.2012 12:04
Сортировка. Некоректная работа с числами formus Events/DOM/Window 9 19.11.2011 01:48
Постоянная работа / Front-end / Москва kooper Работа 4 29.09.2011 22:06
Работа с дробными числами vah-smile Элементы интерфейса 2 09.11.2010 12:15
Работа с дробными числами DMH Общие вопросы Javascript 5 23.08.2010 13:49