Народ, всем привет, нужна помощь. Делаю калькулятор. При вводе 010/2 выводит результат 4, соответственно я так понял программа считает 010 в восьмеричной системе. Как сделать чтобы программа воспринимала 010 как 10. Подскажите пожалуйста как изменить код.
var calculatorObject = {
defaultValue: '0.00',
operators: ['+', '-', '*', '/'],
sequence: [],
urlCalculate: 'calculate.php',
isNumber: function (value) {
return !isNaN(parseFloat(value));
},
calculate: function () {
jQuery.post(calculatorObject.urlCalculate, { sequence: calculatorObject.sequence }, function (data) {
if (!data.error) {
$('#calculatorResult').html(data.result);
calculatorObject.sequence = [];
}
}, 'json');
},
trigger: function (obj) {
if (obj.length > 0) {
obj.find('ul li').live('click', function () {
$(this).siblings('li').removeClass('active');
$(this).addClass('active');
var thisItem = $(this).attr('data-value');
var thisValue = $('#calculatorResult').text();
switch (thisItem) {
case '=':
calculatorObject.sequence.push(thisValue);
calculatorObject.calculate();
break;
case 'c':
calculatorObject.sequence = [];
$('#calculatorResult').html(calculatorObject.defaultValue);
break;
case calculatorObject.operators[0]:
case calculatorObject.operators[1]:
case calculatorObject.operators[2]:
case calculatorObject.operators[3]:
calculatorObject.sequence.push(thisValue);
if (calculatorObject.sequence.length > 0) {
if (calculatorObject.isNumber(calculatorObject.sequence[calculatorObject.sequence.length - 1])) {
calculatorObject.sequence.push(thisItem);
}
else {
calculatorObject.sequence[calculatorObject.sequence.length - 1] = thisItem;
}
}
$('#calculatorResult').html(thisItem);
break;
default:
if (jQuery.inArray(thisValue, calculatorObject.operators) === -1) {
if (thisValue !== calculatorObject.defaultValue) {
$('#calculatorResult').html(thisValue + thisItem);
}
else {
$('#calculatorResult').html(thisItem);
}
}
else {
$('#calculatorResult').html(thisItem);
}
}
});
}
}
};
$(function () {
calculatorObject.trigger($('#calculator'));
});
<?php
if (isset($_POST['sequence']))
{
$values = array_filter($_POST['sequence'], function($value) {
return is_numeric($value) || in_array($value, array('+', '-', '/', '*'));
});
if (!empty($values))
{
$calculation = 'return ('.implode($values).');';
$value = eval($calculation);
echo json_encode(array('result' => number_format($value, 2)));
}
}