计算时将逗号视为点?

时间:2014-02-07 09:34:16

标签: javascript jquery replace

当使用jQuery计算函数在表单中输入时,有没有办法将逗号(,)视为点(。)? 我尝试过替换,但我不工作

function calculate(e){
    var bredd2 = bredd.toString().replace(",", ".");
    var djup2 = djup.toString().replace(",", ".");

    $('#m2').val($('#bredd2').val() * $('#djup2').val());
    $('#totalpris').val($('#m2').val() * $('#m2pris').val());
}

1 个答案:

答案 0 :(得分:1)

你正在替换错误的变量。做

function calculate(e){
    var bredd2 = parseFloat($('#bredd2').val().replace(",", ".")),
        djup2 = parseFloat($('#djup2').val().replace(",", ".")),
        m2pris = parseFloat($('#m2pris').val().replace(",", ".")),
        m2 = bredd2 * djup2,
        totalpris = m2 * m2pris;

    $('#m2').val(m2);
    $('#totalpris').val(totalpris);
}

当然,您可以创建一个实用程序功能来简化:

$.fn.parsedVal = function(){
   return parseFloat(this.val().replace(",", "."))
}

function calculate(e){
    var m2 = $('#bredd2').parsedVal() * $('#djup2').parsedVal(),
        totalpris = m2 * $('#m2pris').parsedVal();

    $('#m2').val(m2);
    $('#totalpris').val(totalpris);
}