Преобразование типов данных

Рейтинг: 0Ответов: 1Опубликовано: 20.11.2014
var extra_fee_code=parseFloat(ans['extra_fee_code']);

После обработки, показывает значение NaN. Как устранить ошибку? function parse_answer(data){

try {window.notebook.hideProgress();}
catch(e) {}
if (data.indexOf('ERROR:') == 0) {
    document.getElementById("btn_next").disabled = false;
    try {window.notebook.alert(data.replace("ERROR:",""));}
    catch(e) {alert(data.replace("ERROR:",""));}
} else {
    var ans=parse_str(data);
    //ans['debt'] = 1929;

    var extra_fee_code=parseFloat(ans.extra_fee_code);
    var extra_fee_subcode=parseFloat(ans.extra_fee_subcode);
    var extra_fee_payable=parseFloat(ans.extra_fee_payable);
            var xfcounter_code=parseFloat(ans.xfcounter_code);
    var xfcounter_subcode=parseFloat(ans.xfcounter_subcode);
    var xfcounter_payable=parseFloat(ans.xfcounter_payable);
    var counter_code=parseFloat(ans.counter_code);
    var counter_subcode=parseFloat(ans.counter_subcode);
    var counter_tariff=parseFloat(ans.counter_tariff);
    var counter_previous_value=parseFloat(ans.counter_previous_value);
    var counter_decimal_percision=parseFloat(ans.counter_decimal_percision);
    var AccountInfo = ans.address+", кв. "+ans.flat + "<?=lang(' ЖЕО ',' ЖЕО ')?>" + ans.jek +  "<?=lang(' О/рахунок ',' О/рахунок ')?>" ;
            document.verify.jek.value = ans.jek;
    document.verify.account.value = ans.account;
    document.pay.period.value = ans.period;
    document.getElementById("account_info_ans").innerHTML = AccountInfo;
    document.getElementById("account_info_ans2").innerHTML = AccountInfo;
    document.pay.summ.value=ans.summ;
    document.pay.debt.value=ans.debt;
....................
Функция parse_str : парсит наши получаемые данные с БД и загоняет их в data.
В data мы получаем массив всех данных с базы функцией mysql_fatch_array($result);

Но как видимо в дата оно храниться не как массив, а как строка. В итоге нам нужно распарсить в табличном виде все данные на страничке, использую функцию ParseFloat выводит у всех значений NaN кроме extra_fee_list_details_html: undefined extra_fee_list_html: undefined xf_counter_list_html: undefined counter_list_html: undefined Как мы видим андефайн? Помогите решить проблему.

Ответы

▲ 1

У вас код начинается не с цифры, поэтому parseFloat() не может преобразовать полученное значение в число и выдаёт NaN. Как устранить? Уберите parseFloat() и у вас будет сохраняться обычный string.