Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.04.2012, 21:46
Интересующийся
Отправить личное сообщение для Agness Посмотреть профиль Найти все сообщения от Agness
 
Регистрация: 03.04.2012
Сообщений: 14

Системы счисления
Преобразование представления числа в заданную систему счисления. В первом текстовом поле вводится целое десятичное число. При нажатии одной из кнопок: "Hex", "Oct" или "Bin" число переводится соответственно в шестнадцатеричное, восьмеричное или двоичное представление и результат выводится во втором текстовом поле. Если введенный операнд не является целым десятичным числом, во втором текстовом поле выводится сообщение "Ошибка".
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2012, 23:04
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<script>
window.onload = function() {
 document.MMM = document.getElementsByName('MMM')[0];
 document.MMM2 = document.getElementsByName('MMM')[1]
}
Number.prototype.sys = String.prototype.sys = function(s) {
var x  = Number(this);
if (!x) return 'Ошибка'
x =  x.toString(s);
return x;
}
</script>
</head><body>
<input type="text" name="MMM"><br>
<input type="button" value="hex" onclick="document.MMM2.value = document.MMM.value.sys(16)"><input type="button" value="oct" onclick="document.MMM2.value = document.MMM.value.sys(8)"><input type="button" value="bin" onclick="document.MMM2.value = document.MMM.value.sys(2)">
<input type="text" name="MMM">
</body></html>
Ответить с цитированием
  #3 (permalink)  
Старый 04.04.2012, 23:09
Интересующийся
Отправить личное сообщение для Agness Посмотреть профиль Найти все сообщения от Agness
 
Регистрация: 03.04.2012
Сообщений: 14

Огромное спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 04.04.2012, 23:45
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Раед, попробуйте конвертировать 0 (нуль)
Ответить с цитированием
  #5 (permalink)  
Старый 05.04.2012, 01:26
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Раед,
Представьте что за каждое бессмысленное, ненужное и неуместное изменение стандартных прототипов, а равно любых не своих прототипов отрубали бы по одной руке.
У меня для вас плохие новости.
Ответить с цитированием
  #6 (permalink)  
Старый 05.04.2012, 03:02
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Agness, лучше так:

<html>
<head>
<script>
function convert(n) {
 var inp= document.getElementById("in");
 var out= document.getElementById("out");
 if (isNaN(parseFloat(inp.value))) {
  out.value= "Введите число"
 } else {
  out.value= parseFloat(inp.value).toString(n)
 }
}
</script>
</head>
<body>
<input id="in" />&nbsp;
<input id="out" readonly /><br />
<button onclick="convert(2)">Bin</button><br />
<button onclick="convert(8)">Oct</button><br />
<button onclick="convert(16)">Hex</button><br />
</body>
</html>
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #7 (permalink)  
Старый 06.04.2012, 23:34
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от Gvozd
Представьте что за каждое бессмысленное, ненужное и неуместное изменение стандартных прототипов, а равно любых не своих прототипов отрубали бы по одной руке.
За что? Чем плохо изменять прототипы? По-моему весьма удобно...
Ответить с цитированием
  #8 (permalink)  
Старый 07.04.2012, 02:02
Аватар для trikadin
Модератор
Отправить личное сообщение для trikadin Посмотреть профиль Найти все сообщения от trikadin
 
Регистрация: 27.04.2010
Сообщений: 3,417

Раед, расширение стандартных свойств должно быть оправданно. А в вашем решении оправданностью и не пахнет. Изменять прототипы нужно ну крайне аккуратно - минус утечки памяти, неизвестные ошибки и прочие радости. Чем локальнее работает каждый кусок программы - тем устойчивее система в целом.
__________________
Читайте:
Ты любопытный) Всё-таки, ничему в этом мире не помешает хорошая доля юмора)
Как спросить, чтобы вам ответили
Часто Задаваемые Вопросы (FAQ)
Ответить с цитированием
  #9 (permalink)  
Старый 07.04.2012, 23:56
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от trikadin
А в вашем решении оправданностью и не пахнет
Я понимаю, что в моём решении вообще говнокод полнейший: поэкспериментировал с именами, зачем то расширил Number, установил свойства document и некорректно работает с нулём.

Ещё вопрос: чем
isNaN(num)

отличается от
num===NaN

и что лучше юзать?
Ответить с цитированием
  #10 (permalink)  
Старый 08.04.2012, 00:11
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Раед
Ещё вопрос: чем
isNaN(num)

отличается от
num===NaN
Тем, что NaN никогда ничего не равно, даже самому себе.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод букв в двоичную систему счисления andrewvas Общие вопросы Javascript 19 08.03.2018 11:43
платёжные системы Tim Оффтопик 27 20.02.2012 12:45
Пример идеального ядра большой системы vissarion Библиотеки/Тулкиты/Фреймворки 0 27.12.2010 14:45
Модель солнечной системы radio123 Общие вопросы Javascript 9 23.11.2010 17:30
Перевод числа в разные системы счисления. lolka84 Opera, Safari и др. 4 24.08.2010 15:43