我已经制作了一个计算器来满足我的需求,但是我已经完成了所有结果。
如何让它显示确切结果?
function toFixed(value, precision) {
var precision = precision || 0,
neg = value < 0,
power = Math.pow(10, precision),
value = Math.round(value * power),
integral = String((neg ? Math.ceil : Math.floor)(value / power)),
fraction = String((neg ? -value : value) % power),
padding = new Array(Math.max(precision - fraction.length, 0) + 1).join('0');
return precision ? integral + '.' +
padding + fraction : integral; } function dosage () {
var a = parseInt(jQuery("#a").val() ) ;
var b = parseInt(jQuery("#b").val() ) ;
var c = parseInt(jQuery("#c").val() ) ;
var r = Math.round(a*((a*(b/100)*2)+(c*25.4))*(0.0152/100));
r = toFixed(r,1);
答案 0 :(得分:1)
好吧,如果您编写了代码,那么您添加了:
integral = String((neg ? Math.ceil : Math.floor)(value / power))
所以,如果你不想要Math.floor
,你应该把它拿出来吗?
或者,如果有时您需要Math.floor
,则需要调查neg
值,因为这会导致您的返回值始终向下舍入。
这条线,正如你所看到的那样,第二部分似乎不正确:
(value / power)
只是一个表达式,它紧挨着你的三元运算结果。我不确定那部分是如何影响任何事情的。
答案 1 :(得分:0)
以下是测试的完整代码
<script type="text/javascript">
jQuery(document).ready(function()
{
function dosage_e(e)
{
e.preventDefault();
dosage();
}
function toFixed(value, precision) {
var precision = precision || 0,
neg = value < 0,
power = Math.pow(10, precision),
value = Math.round(value * power),
integral = String((neg ? Math.ceil : Math.floor)(value / power)),
fraction = String((neg ? -value : value) % power),
padding = new Array(Math.max(precision - fraction.length, 0) + 1).join('0');
return precision ? integral + '.' + padding + fraction : integral; }
function dosage () {
var a = parseInt(jQuery("#a").val() ) ;
var b = parseInt(jQuery("#b").val() ) ;
var c = parseInt(jQuery("#c").val() ) ;
var r = Math.round(a*((a*(b/100)*2)+(c*25.4))*(0.0152/100));
r = toFixed(r,1);
jQuery("#result").val(r);}
jQuery("#a").keyup(
function (e) { dosage(e); } );
jQuery("#b").keyup(
function (e) { dosage(e); } );
jQuery("#c").keyup(
function (e) { dosage(e); } );
dosage(); } ); // ]]>
</script>
<div id="fond-voiture" align="center">
<div><h1 style="color:white; font-family:Arial;">VALUE 1</h1><input id="a" type="text" name="a" value="385" />
</div>
</br>
<div><h1 style="color:white; font-family:Arial;">VALUE 2</h1><input id="b" type="text" name="b" value="65" />
</div>
</br>
<div><h1 style="color:white; font-family:Arial;">VALUE 3</h1><input id="c" type="text" name="c" value="22.5"/>
</div>
</br>
<div><h1 style="color:white; font-family:Arial;">VALUE 4</h1><input id="result" readonly="readonly"/>
</div>
</div>
</div>
&#13;