在 JavaScript 中向上舍入数字有问题
rounding numbers up in javascript having problems
嘿,我在四舍五入数字时遇到问题,因为我不确定我将如何去做,这是用于数学的代码:
var lon1 = position.coords.longitude* 0.0174532925;
var lat1 = position.coords.latitude * 0.0174532925;
var i = 0;
while (i<locations.length)
{
x.innerHTML+= "<br>Distance " + calcDist(lon1, lat1, locations[i][1]* 0.0174532925, locations[i][2]* 0.0174532925);
i++;
}
}
function calcDist(lon1, lat1, lon2, lat2)
{
return Math.acos(Math.sin(lat1)*Math.sin(lat2) +
Math.cos(lat1)*Math.cos(lat2) *
Math.cos(lon2-lon1)) * 3958;
}
我问的原因是因为我正在创建一个商店定位器,这是针对用户和商店两点之间的距离,但是当它计算出来时,它显示为 5.595255493978103 而不是 5.6 英里
任何帮助将不胜感激,提前感谢
// Round towards nearest multiple of 0.1
function round(x) {
return Math.round(x * 10) / 10;
}
x.innerHTML+= "<br>Distance " + round(calcDist(lon1, lat1, locations[i][1]* 0.0174532925, locations[i][2]* 0.0174532925));
// Round towards nearest multiple of 0.1
function round(num){
return Math.round(num*10)/10;
}
So...
round(3.14) = 3.1;
round(3.15) = 3.2;
或者对于自定义的 dps 数
function round (num,dp){
var scale = Math.pow(10,dp);
return Math.round(num*scale)/scale;
}
So...
round(3.456,2) = 2.46;
round(3.456,1) = 2.5;
roudn(3.456,0) = 2;
你可以
对你想要舍入的值使用 Math.round()!
相关文章:
- jQuery - 带有一些数字的表格计算出现奇怪的舍入错误
- 在追加文本中舍入数字输出
- 通过JavaScript将数字舍入到0.11的最接近倍数
- 使用 toFixed 对十进制数字进行舍入
- 在 JavaScript 中向下舍入一个数字
- 阻止 Javascript 对大数字 ID 进行舍入
- 如何在Javascript中对代码行中的数字进行舍入
- Javascript 将数字舍入到小数点后 2 位
- JavaScript:在不影响结果准确性的情况下舍入数字
- 将数字舍入到小数点后两位,并删除任何其他小数点
- 如何使用 javascript 获取带有 2 个小数且不舍入的数字
- 在 JavaScript 中向上舍入数字有问题
- 如何使用javascript截断(不舍入)小数点后的特定数字
- JavaScript,数字舍入问题
- 将Javascript中的数字舍入到小数点之前
- jQuery问题中的舍入数字
- 从JSON中舍入数字字符串
- 使用. tofixed()舍入指数小的数字
- 将数字舍入到小数位
- 如何向上舍入数字并添加数字标点符号