Системы счисления.
Здравствуйте :)
При alert(010); результат равен 8. Как можно получить значение в десятичной системе, т.е. 10? |
parseInt('010', 10) - 2-й параметр система счисления
|
zebra,
Спасибо большое (: |
Теперь пытаюсь преобразовать строку вида: 010+020
в строку: 10+20 Строка хранится в expr.val. Разбиваю ее на составляющие и преобразую числа при помощи parseInt. Потом склеиваю обратно в строку. (Не хочу пользоваться split методом, по-скольку собираюсь преобразовывать строки также с разными операторами отличными от +.) var j = 0; for (var i=0; i<expr.val.length; i++) { if (expr.val(i) == '+') { expr.arr[j] += expr.val(i); j++; expr.arr[j] = ''; } else { expr.arr[j] += expr.val(i); } } for (i=0; i<=j; i++) { try { expr.arr[i] = parseInt(expr.arr[i],10); } } expr.val = expr.arr.join(''); Но что-то не выходит (: |
var re = /(^|[^1-9])0+(?=\d)/g; alert( "1010+2020".replace( re, "$1" ) ); alert( "010-020+030".replace( re, "$1" ) ); alert( "010*020".replace( re, "$1" ) ); alert( "010 / 020".replace( re, "$1" ) ); alert( "010 + 020".replace( re, "$1" ) ); alert( "000010 - 0000020".replace( re, "$1" ) ); alert( "0 - 0".replace( re, "$1" ) ); alert( "из числа 000010 вычесть 0000020 получим -00000010".replace( re, "$1" ) ); |
devote,
Спасибо! Правда буду очень признателен, если подскажешь где прочитать про эту кучу различных символов в переменной re Цитата:
|
Дзен-трансгуманист,
Точно ведь, нужны квадратиш скобки (: |
Цитата:
|
var re = /\b0+\B/g; alert( "1010+2020".replace( re, "" ) ); alert( "010-020+030".replace( re, "" ) ); alert( "010*020".replace( re, "" ) ); alert( "010 / 020".replace( re, "" ) ); alert( "010 + 020".replace( re, "" ) ); alert( "000010 - 0000020".replace( re, "" ) ); alert( "0 - 0".replace( re, "" ) ); alert( "из числа 000010 вычесть 0000020 получим -00000010".replace( re, "" ) ); |
Часовой пояс GMT +3, время: 10:41. |