如何在javascript中取整
您好,我有里程计算器的代码,我希望显示的里程数四舍五入到小数点后一位。代码是什么 不要只是说把1609.3440006146921597227828997904四舍五入,因为我希望计算的里程数在四舍五入之前尽可能精确 我的里程计算器的代码如下:如何在javascript中取整,javascript,html,Javascript,Html,您好,我有里程计算器的代码,我希望显示的里程数四舍五入到小数点后一位。代码是什么 不要只是说把1609.3440006146921597227828997904四舍五入,因为我希望计算的里程数在四舍五入之前尽可能精确 我的里程计算器的代码如下: <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/> <script ty
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var directionDisplay;
var map;
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var copenhagen = new google.maps.LatLng(55.6771, 12.5704);
var myOptions = {
zoom:12,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: copenhagen
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
directionsDisplay.setMap(map);
}
var directionsService = new google.maps.DirectionsService();
function calcRoute() {
var start = document.getElementById("start").value;
var end = document.getElementById("end").value;
var distanceInput = document.getElementById("distance");
var request = {
origin:start,
destination:end,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
distanceInput.value = response.routes[0].legs[0].distance.value / 1609.3440006146921597227828997904;
}
});
}
</script>
<title>Distance Calculator</title>
<style type="text/css">
body {
font-family:Helvetica, Arial;
}
#map_canvas {
height: 50%;
}
</style>
</head>
<body>
<body onload="initialize()">
<p>Enter your current location and desired destination to get the distance</p>
<div>
<p>
<label for="start">Start: </label>
<input type="text" name="start" id="start" />
<label for="end">End: </label>
<input type="text" name="end" id="end" />
<input type="submit" value="Calculate Route" onclick="calcRoute()" />
</p>
<p>
<label for="distance">Distance (miles): </label>
<input type="text" name="distance" id="distance" readonly="true" />
</p>
<p><a href="mailto:moniza@syedasadiq.co.uk?subject=Mileage&body="
onclick="this.href += calcRoute('string', 'distance');"
>
Click to send email
</a></p>
</div>
<div id="map_canvas"></div>
</body>
</html>
javascript google geolocation maps
方向显示;
var映射;
函数初始化(){
directionsDisplay=new google.maps.DirectionsRenderer();
var哥本哈根=新的google.maps.LatLng(55.6771,12.5704);
变量myOptions={
缩放:12,
mapTypeId:google.maps.mapTypeId.ROADMAP,
中心:哥本哈根
}
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
方向显示.setMap(地图);
}
var directionsService=new google.maps.directionsService();
函数calcRoute(){
var start=document.getElementById(“start”).value;
var end=document.getElementById(“end”).value;
var distanceInput=document.getElementById(“距离”);
var请求={
来源:start,
目的地:完,
travelMode:google.maps.Directions travelMode.DRIVING
};
路由(请求、功能(响应、状态){
if(status==google.maps.directionstatus.OK){
方向显示。设置方向(响应);
distance.value=response.routes[0]。legs[0]。distance.value/1609.3440006146921597227828997904;
}
});
}
距离计算器
身体{
字体系列:Helvetica,Arial;
}
#地图画布{
身高:50%;
}
输入当前位置和所需目的地以获取距离
开始:
完:
距离(英里):
谷歌地理位置地图
您应该使用数字。若要固定
,您需要传递一个参数,表示您希望在该点后输入多少位数:
var x = 23.142342341231;
console.log(x.toFixed(1));
在获得固定数字后,您需要做的就是解析浮点。您应该使用
number。toFixed
,您可以传递一个参数,表示您希望在该点后输入多少位数:
var x = 23.142342341231;
console.log(x.toFixed(1));
var n = 1609.3440006146921597227828997904;
// Methods that JS provides
console.log(Math.round(n)); // 1609 (number)
console.log(n.toFixed(6)); // 1609.344001 (string)
// You can do this, if you prefer (but not recommended at all)
var round = function(n, d){
return Math.round(n*Math.pow(10,d))/Math.pow(10,d);
};
console.log(round(n, 6)); // 1609.344001 (number)
在得到固定的数字后,您所要做的就是解析浮点。数学。舍入(num*10)就可以了。但为了避免舍入精度误差,您可能希望保留原始数字以供进一步处理
var n = 1609.3440006146921597227828997904;
// Methods that JS provides
console.log(Math.round(n)); // 1609 (number)
console.log(n.toFixed(6)); // 1609.344001 (string)
// You can do this, if you prefer (but not recommended at all)
var round = function(n, d){
return Math.round(n*Math.pow(10,d))/Math.pow(10,d);
};
console.log(round(n, 6)); // 1609.344001 (number)
这有帮助吗?Math.round(num*10)就可以了。但为了避免舍入精度误差,您可能希望保留原始数字以供进一步处理
这有帮助吗?你知道关于
Math.round(n)
?正如FakeRainBrigand所说,你想使用它可以根据你的问题进行精确性和所需的一切Math.round(num*10)//对于一个小数点Pt,你知道关于Math.round(n)的知识吗
?正如FakeRainBrigand所说,你想使用它,它可以根据你的问题Math.round(num*10)//对于一个小数点,你能在round方法中添加更多关于公式的细节吗@JiminP@YochaiAkoka它基本上是将小数点向右移动(n*Math.pow(10,d)
),进行四舍五入,然后再次将小数点向左移动(/Math.pow(10,d)
)。几乎所有情况下,当显示数字时,四舍五入到第n位,这种情况下的方法是toFixed
。能否在四舍五入方法中添加有关公式的更多详细信息@JiminP@YochaiAkoka它基本上是将小数点向右移动(n*Math.pow(10,d)
),进行四舍五入,然后再次将小数点向左移动(/Math.pow(10,d)
)。在几乎所有情况下,当显示数字时,四舍五入到第n位,这种情况下的方法是toFixed
。