jquery简单的计算脚本需要很少的帮助

时间:2013-07-24 08:22:27

标签: javascript jquery html

我在朋友的帮助下制作了这个jquery脚本。

小提琴 http://jsfiddle.net/Wu7k7/

jquery的:

$('input[name=rdOptin]').click(function(){
var selected=$(this).val();
var var0 = 0.3;
var var1 = 20;
var var2 = var1 * 3.9 / 100;
var var3 = 20;
var var4 = (var1 + var3) * 3.9 / 100;
if (selected == 'norm'){
    $("#calc_value").html(var0 + var1 + var2);}
else {
    $("#calc_value").html(var0 + var1 + var3 + var4);}

});

html表单

<form id="form1" name="form1" method="post" action="form1.php"> <b> Option 1:</b>
     <input type="radio" name="rdOptin" value="norm" checked="checked" />Normal
    <input type="radio" name="rdOptin" value="exp" />Expert
<br />
<b>Calculated Value:</b>
<div class="valueDisp">
    <div id="calc_value">
        select options
    </div>
</div>
  1. 我试图将一个文本元素添加到选择的输出中。例如说:在选择“专家”无线电时,输出为“41.86”,如何使输出看起来像“数字41.86”。

  2. 选择“普通”无线电输出为“21.080000000000002”,如何将其修复为“21.08”?

  3. 对我来说相当棘手。

    请帮助朋友。

    提前多多感谢。

4 个答案:

答案 0 :(得分:3)

使用.toFixed()将浮点数转换为固定精度十进制字符串。另外,将您的计算与演示文稿分开,以避免重复:

var result;
if (selected == 'norm'){
    result = var0 + var1 + var2;
} else {
    result = var0 + var1 + var3 + var4;
}

$('#calc_value').text("Numbers " + result.toFixed(2));

答案 1 :(得分:2)

可以通过将数字值附加到您想要的文本来修复第一个问题

var yourVal = 41.86;
var outputVal = "Numbers "+yourVal;

对于第二个问题,请使用.toFixed()仅使用两位小数。

var yourVal = 21.08000000000002;
var outputVal = yourVal.toFixed(2);

答案 2 :(得分:1)

你需要使用.toFixed(2)来围绕这里

$('input[name=rdOptin]').click(function(){
    var selected=$(this).val();
    var var0 = 0.3;
    var var1 = 20;
    var var2 = var1 * 3.9 / 100;
    var var3 = 20;

    var result;
    if (selected == 'norm'){
        result = var0 + var1 + var2;
    } else {
        var var4 = (var1 + var3) * 3.9 / 100;
        result = var0 + var1 + var3 + var4;
    }

    $("#calc_value").html('Numbers: ' + result.toFixed(2));

}).filter(':checked').click();

演示:Fiddle

答案 3 :(得分:1)

  1. 将“Numbers”放在.html("Numbers "+yourNumber)中并使用:
  2. toFixed()之前
  3. 较短的变体:

    if (selected == 'norm')
        var total = var0 + var1 + var2;
    else
        var total = var0 + var1 + var3 + var4;
    $("#calc_value").html("Numbers "+total.toFixed(2));
    

    <强> DEMO