在javascript中,如何通过在第二位数字后加零来“舍入”数字

在javascript中,如何通过在第二位数字后加零来“舍入”数字,javascript,jquery,Javascript,Jquery,我想通过将第二个数字后面的所有数字都换成零来对整数进行四舍五入。此外,如果数字只有一个数字,则什么也不要做,如果数字有两个数字,则将第二个数字替换为0 例如: 3 => 3 22 => 20 754 => 750 8912 => 8900 如果不将数字截断为字符串,然后用零重新生成数字,可以实现这一点吗?您不需要将数字截断为字符串,可以通过数学计算轻松实现。此外,将number更改为string,然后执行任何操作都会增加开销,在本例中不需要这样做 请参考下面的代码,它非

我想通过将第二个数字后面的所有数字都换成零来对整数进行四舍五入。此外,如果数字只有一个数字,则什么也不要做,如果数字有两个数字,则将第二个数字替换为0

例如:

3 => 3
22 => 20
754 => 750
8912 => 8900

如果不将数字截断为字符串,然后用零重新生成数字,可以实现这一点吗?

您不需要将数字截断为字符串,可以通过数学计算轻松实现。此外,将number更改为string,然后执行任何操作都会增加开销,在本例中不需要这样做

请参考下面的代码,它非常简单。 希望这有帮助

函数变化数{ ifMath.floornum/10==0{ 返回num; }否则ifMath.floornum/1000==0{ 返回数学楼层数/10*10; } 否则{ 返回计算总建筑面积/100*100 } } console.LogChangeNumber 3; console.LogChangeNumber 22; console.LogChangeNumber 754;
console.LogChangeNumber 8923 这将适用于每一个基数为10的数字

所有这些都是关于一个简单的数学运算:数字-[数字的其余部分/数字的基数-10]

函数轮{ ifn<10; var d=getTenBasen.toString.length-1; 返回n-n%10*d; } 函数getTenBasel{ var d=1; forvar i=2;iconsole.loground1657 您可以只查找长度,然后再查找前两个字符,取零,长度和concat都有效

var-str='8912'; var n=str.length

ifn==1 {

printstr; }否则ifn==2{

var strFirst = str.substring(0,1);
var str2 = '0';
var res = strFirst.concat(str2);
}否则ifn>2{

var strFirst = str.substring(0,2);

var i;
 var strsec ='0';
for (i = 0; i < n-3; i++) {
strsec += 0 ;
}

var res=strFirst.concatstrsec

}
printres

你真的在取整吗?你能分享你的逻辑吗?你到现在为止都在尝试什么?对不起,我忘了在取整措辞中加引号。这不是真正的四舍五入,我只是希望第二个数字后面的数字变成零。根据你对所需内容的描述,你将22改为20的例子似乎是错误的。编辑哦,等等,我明白了。无论如何,你可以用10的某个幂除以,通过Math.floor截断分数部分,然后用10的相同幂乘以。那么,除法,floor,乘法……请花时间描述问题是什么,以及为什么这个解决方案有帮助。请记住,我们在这里是为了教育人们,而不仅仅是在他们身上倾倒代码。注意,在回答下一个问题时,我们将牢记这一点。谢谢你!这个很好用。我也开始理解这个问题。我开始数数数字,并在找到的数字的幂上加上10,这使我变得过于复杂了-2…这很好用更新:忘了对超过4位数的数字进行测试。。。另一部分必须调整,所以我们考虑数字的数目。