javascript арифметика [дополнение] [дубликат]

#!/usr/bin/python
import re

strs = "how^ much for{} the maple syrup? $20.99? That's[] ricidulous!!!"
print strs
nstr = re.sub(r'[?|$|.|!|a|b]',r' ',strs)#i have taken special character to remove but any #character can be added here
print nstr
nestr = re.sub(r'[^a-zA-Z0-9 ]',r'',nstr)#for removing special character
print nestr
33
задан Maureen Moore 19 December 2012 в 17:25
поделиться

3 ответа

Ваш код объединяет три строки, затем преобразует результат в число.

Вам нужно преобразовать каждую переменную в число, вызвав parseFloat() вокруг каждого.

total = parseFloat(myInt1) + parseFloat(myInt2) + parseFloat(myInt3);
57
ответ дан SLaks 25 August 2018 в 02:35
поделиться

Следующий оператор добавляет значение к элементу с идентификатором response

$('#response').append(total);

. Это делает его похожим на то, что вы объединяете строки, но вы не являетесь, вы на самом деле добавив их к элементу

, измените это на

$('#response').text(total);

Вам нужно изменить событие drop, чтобы оно заменило значение элемента на общее число, вам также необходимо сохранить отслеживать, что такое сумма, я предлагаю что-то вроде следующего

$(function() {
    var data = [];
    var total = 0;

    $( "#draggable1" ).draggable();
    $( "#draggable2" ).draggable();
    $( "#draggable3" ).draggable();

    $("#droppable_box").droppable({
        drop: function(event, ui) {
        var currentId = $(ui.draggable).attr('id');
        data.push($(ui.draggable).attr('id'));

        if(currentId == "draggable1"){
            var myInt1 = parseFloat($('#MealplanCalsPerServing1').val());
        }
        if(currentId == "draggable2"){
            var myInt2 = parseFloat($('#MealplanCalsPerServing2').val());
        }
        if(currentId == "draggable3"){
            var myInt3 = parseFloat($('#MealplanCalsPerServing3').val());
        }
        if ( typeof myInt1 === 'undefined' || !myInt1 ) {
            myInt1 = parseInt(0);
        }
        if ( typeof myInt2 === 'undefined' || !myInt2){
            myInt2 = parseInt(0);
        }
        if ( typeof myInt3 === 'undefined' || !myInt3){
        myInt3 = parseInt(0);
        }
        total += parseFloat(myInt1 + myInt2 + myInt3);
        $('#response').text(total);
        }
    });

    $('#myId').click(function(event) {
        $.post("process.php", ({ id: data }), function(return_data, status) {
            alert(data);
            //alert(total);
        });
    });
});

. Я перенесла оператор var total = 0; из события перетаскивания и изменила статус назначения из этого

total = parseFloat(myInt1 + myInt2 + myInt3);

к этому

total += parseFloat(myInt1 + myInt2 + myInt3);

Вот рабочий пример http://jsfiddle.net/axrwkr/RCzGn/

1
ответ дан user 25 August 2018 в 02:35
поделиться

Должно также быть в состоянии сделать это:

total += eval(myInt1) + eval(myInt2) + eval(myInt3);

Это помогло мне в другой, но схожей ситуации.

5
ответ дан vapcguy 25 August 2018 в 02:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: