Показать сообщение отдельно
  #12 (permalink)  
Старый 11.04.2012, 12:01
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от Pavel M. Посмотреть сообщение
попробуйте библиотеки для работы с большими числами
За информацию о библиотеке спасибо. Никогда не пользовался.

Но, библиотека - лишние 50 KByte, а главное, что к сожалению Ваш пример на тест
'999999999999999999999999999'
возвращает
'999999999999999999999999999000000' (с лишними нулями).
Возможно надо попробовать брать длину исходной строки и после преобразования обрезать длину результирующей строки до длины исходной.
Однако есть и другие неприятности, например реакция на всякие undefined, null, NaN,...

Думаю, что следует пойти по следующему пути в два шага:
1. преобразовать входную величину x в строку.
2. проверить с помощью regexp.test() наличие в x только символов цифр (0...1). При наличии только символов цифр оставить исходную строку без изменений, в противном случае присвоить ей '0'.
Ответить с цитированием