2

我在朋友的帮助下制作了这个 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”?

这对我来说相当棘手。

请朋友帮忙。

提前非常感谢。

4

4 回答 4

3

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

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

$('#calc_value').text("Numbers " + result.toFixed(2));
于 2013-07-24T08:27:12.833 回答
2

第一个问题可以通过将您的数值附加到您想要的文本来解决,就像这样

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

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

var yourVal = 21.08000000000002;
var outputVal = yourVal.toFixed(2);
于 2013-07-24T08:26:38.677 回答
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();

演示:小提琴

于 2013-07-24T08:27:09.420 回答
1
  1. 将“数字”放入.html("Numbers "+yourNumber)其中并使用:
  2. toFixed()之前

较短的变体:

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

演示

于 2013-07-24T08:35:01.070 回答