Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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 将数字四舍五入为1_Javascript_Math_Rounding_Floor - Fatal编程技术网

Javascript 将数字四舍五入为1

Javascript 将数字四舍五入为1,javascript,math,rounding,floor,Javascript,Math,Rounding,Floor,我想做的是把左边的数字四舍五入到1。例如,如果数字是12345.6789,则四舍五入为100000.0000。。如果数字为9999999.9999,则四舍五入为1000000.0000。也希望它与小数一起工作,所以如果一个数字是0.00456789,则将其四舍五入到0.00100000 在这个例子中,5600/100000=0.056,我希望它四舍五入到0.01。我在LUA脚本中使用了以下代码,它工作得非常好 function rounding(num) return 10 ^ math.f

我想做的是把左边的数字四舍五入到1。例如,如果数字是12345.6789,则四舍五入为100000.0000。。如果数字为9999999.9999,则四舍五入为1000000.0000。也希望它与小数一起工作,所以如果一个数字是0.00456789,则将其四舍五入到0.00100000

在这个例子中,5600/100000=0.056,我希望它四舍五入到0.01。我在LUA脚本中使用了以下代码,它工作得非常好

function rounding(num)
  return 10 ^ math.floor((math.log(num))/(math.log(10)))
end
print(rounding(5600/100000))
但是如果我对Javascript使用相同的值,它将返回-11,而不是0.01

function rounding(num) {
  return 10 ^ Math.round((Math.log(num))/(Math.log(10)))
}
console.log((rounding(5600/100000)).toFixed(8))
任何帮助或指导都将不胜感激。

您可以设定log10值的下限,并从以10为基数的指数值中获取值

带零的小数位数无法保存

const format=number=>10**Math.floor(Math.log10(number));
变量数组=[
12345.6789,//100000.0000此值为零到多。。。
9999999.9999,     // 1000000.0000
0.00456789, //       0.00100000
];
log(array.map(格式))您可以设置log10值的下限,并以10为基数从指数值中获取值

带零的小数位数无法保存

const format=number=>10**Math.floor(Math.log10(number));
变量数组=[
12345.6789,//100000.0000此值为零到多。。。
9999999.9999,     // 1000000.0000
0.00456789, //       0.00100000
];

log(array.map(格式))检查此代码。它单独处理字符。它似乎能完成任务

函数舍入(num){
常量字符=num.toString().split(“”);
让replaceWith='1';
characters.forEach((字符,索引)=>{
如果(字符=='0'| |字符==='。){
返回;
};
字符[索引]=替换为;
replaceWith='0';
});
返回字符。join(“”);
}
控制台日志(舍入(12345.6789));
控制台日志(四舍五入(9999999.9999));
控制台日志(四舍五入(0.00456789));

控制台日志(四舍五入(5600/100000))检查此代码。它单独处理字符。它似乎能完成任务

函数舍入(num){
常量字符=num.toString().split(“”);
让replaceWith='1';
characters.forEach((字符,索引)=>{
如果(字符=='0'| |字符==='。){
返回;
};
字符[索引]=替换为;
replaceWith='0';
});
返回字符。join(“”);
}
控制台日志(舍入(12345.6789));
控制台日志(四舍五入(9999999.9999));
控制台日志(四舍五入(0.00456789));

控制台日志(四舍五入(5600/100000))您不能“12345.6789,四舍五入到100000.0000”,即向上。与“9999999.9999,四舍五入为1000000.0000”相同。您知道
^
运算符的作用吗?提示,它不是指数或幂。你不能“12345.6789,四舍五入到100000.0000”,这是向上的。与“9999999.9999,四舍五入为1000000.0000”相同。您知道
^
运算符的作用吗?提示,这不是指数或幂。谢谢大家。。我应该用**而不是^。我猜这是LUA和Javascript之间的众多差异之一。谢谢大家。。我应该用**而不是^。我猜这是LUA和Javascript之间的众多差异之一。