15

我有以下代码。除了我希望最终的 tinstotal 变量四舍五入到最接近的 1(2.04 被四舍五入到 3 等)之外,效果很好

$(document).ready(function(){

// Animate logo
$('#Logo').hide().fadeIn(800);

// Calculation Scripts
// Square Metres
var output = $('#SquareMetres'),
    tinoutput = $('#Tins'),
    priceoutput = $('#Price');
$('input[type="text"]').keyup(function() {
var width = parseFloat( $('#width').val()),
    height = parseFloat( $('#height').val()),
    result = height * width / 10000,
    finalresult = result.toFixed(2);
if (isNaN(result)) return;

output.text(finalresult);

// Tins
var tinmetres = 32.5,
    tinprice = 18.23,
    tinsresult = finalresult / tinmetres;
    tinstotal = tinsresult.toFixed(2);

tinoutput.text(tinstotal);

var price = tinstotal * tinprice,
    totalprice = price.toFixed(2);

priceoutput.text('£'+totalprice)

});
});

该脚本在底部附近的红色框中的http://andyholmes.me/sitewizard/index.html处于活动状态。希望各位大神帮忙,谢谢!

4

5 回答 5

41
tinstotal = Math.ceil(tinsresult);
tinoutput.text(tinstotal);

Math.ceil()将四舍五入到下一个整数

于 2012-11-30T11:31:10.107 回答
4

使用 javascript Math.round()

ex: 
var a = Math.round(2.60);
var b = Math.round(-2.60);
var c = Math.round(2.49);

Result : 
alert(a); => 3
alert(b); => -3
alert(c); => 2

希望对你有所帮助。

于 2016-05-19T08:00:44.363 回答
1
priceoutput.text('£'+ Math.ceil(totalprice));
于 2012-11-30T11:28:59.467 回答
1

使用 javascript 的 Math.ceil() 方法将数字向上取整。

您可以在此处查看有关此方法的信息:

http://www.w3schools.com/jsref/jsref_ceil.asp

于 2012-11-30T11:30:53.463 回答
1

我想你正在寻找Math.ceil()

Math.ceil(7.004);
// expected output: 8

Math.ceil(-7.004);
// expected output: -7
于 2012-11-30T11:30:56.043 回答