Javascript.RU

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

Проблемы с переводом в разные системы исчисления
Доброго времени суток!

Мне приходиться с весьма крупными числами при переводе из одной системы в другую (из 10 в 32 и обратно).
Перевод в 32 систему работает нормально, но в 10-ую систему переводит в число типа 1.04010101080108e+26.

Как мне от этого избавиться?

P.S. нашел сервис который работает с такими числами хорошо, но не могу найти часть кода что отвечает за перевод чисел (http://planetcalc.ru/375/)


Вот моя функция для перевода в 10-ую систему исчисления (для перевода в какую либо другую нужно еще дописать).
String.prototype.toSystem = function (to, from) {
	if (!to) return false;
	var n = '0123456789abcdefghijklmnopqrstuvwxyz';
	var bool = new Array (true, false);
	from = from || 10;
	if (from > n.length || from < 0 || to > n.length || to < 0) return false;
	if(this.length > 0) {
		for (var i = 0; i < this.length && bool[0]; i++) {
			bool[1] = false;
			for (var k = 0; k < from && !bool[1]; k++) {
				if (this[i].toLowerCase() == n[k]) {
					bool[1] = true;
				}
			}
			if (!bool[1]) bool[0] = false;
		}
		if (bool[0]) {
			alert(n.find('/'));
			var result = 0;
			for (var i = 0; i < this.length; i++) {
				result += n.find(this[this.length-1-i].toLowerCase()) * Math.pow(from, i);
			}
			if (to != 10) {
				console.log(' >> Перевод из 10 системы в ' + to);
			}
			return result;
		} else {
			return 'Validation failed.';
		}
	} else return false;
}

String.prototype.find = Array.prototype.find = function (v) {
	if ([].indexOf) {
		return this.indexOf(v);
	} else {
		for (var i = 0; i < this.length; i++) {
			if (this[i] === v) return i;
		}
		return -1;
	}
}

Последний раз редактировалось BaBaKa, 23.11.2014 в 19:45. Причина: добавление кода программы
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод числа в разные системы счисления. lolka84 Opera, Safari и др. 4 24.08.2010 15:43
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37