我在朋友的帮助下制作了这个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>
我试图将一个文本元素添加到选择的输出中。例如说:在选择“专家”无线电时,输出为“41.86”,如何使输出看起来像“数字41.86”。
选择“普通”无线电输出为“21.080000000000002”,如何将其修复为“21.08”?
对我来说相当棘手。
请帮助朋友。
提前多多感谢。
答案 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)