Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中取整_Javascript_Html - Fatal编程技术网

如何在javascript中取整

如何在javascript中取整,javascript,html,Javascript,Html,您好,我有里程计算器的代码,我希望显示的里程数四舍五入到小数点后一位。代码是什么 不要只是说把1609.3440006146921597227828997904四舍五入,因为我希望计算的里程数在四舍五入之前尽可能精确 我的里程计算器的代码如下: <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/> <script ty

您好,我有里程计算器的代码,我希望显示的里程数四舍五入到小数点后一位。代码是什么

不要只是说把1609.3440006146921597227828997904四舍五入,因为我希望计算的里程数在四舍五入之前尽可能精确

我的里程计算器的代码如下:

<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