js 进一法进位,精确到一位小数该怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 进一法进位,精确到一位小数该怎么写?相关的知识,希望对你有一定的参考价值。

如题,比如34.13想要得到的结果是34.2,。
45.56想要的结果是45.6。这种js该怎么写?

var a = 34.13;
a = Math.ceil(a*10);
alert(a);
a = a*1.0/10;
alert(a);

该方法采用的是ceil向上取整的方法。
首先将该数*10保证整数位,然后调用得到342,
接下来是要缩小到原来的十分之一,由于原来的类型是整数,所以要先转换成小数,因此*1.0;然后再除10,得到34.2
参考技术A js中的round函数可以用来对数字进行四舍五入,但是它针对的是小数点后面的第一位数字进行计算。如果要针对小数点后的其它位,可以先对数字乘以10的整数倍,round以后再除以同样的数:
Math.round(34.13*10)/10 你说的34.13想要得到的结果是34.2,不知道是不是打错了,要的是34.1
如果不是打错了就是想要34.2的话 你看看math.ceil()的方法使用规则吧 也是乘以10然后ceil(),在除以10
参考技术B

如果是四舍五入的话:

var a = 12.15;
document.write(Math.round(a*10)/10);
//34.13想要得到的结果是34.2,这句话让我不确定是不是按四舍五入的标准

追问

我要的是进一法,不是四舍五入,相当于js的Math.ceil()函数,但是Math.ceil()是取整,我要取一位小数。就是小数点后面第二位如果不是零,全部向上进一位,所以12.11和12.12,和12.13和12.14,和12.15还有12.16用进一法出来的结果都是12.20,我想要的就是这样的效果

参考技术C Math.round(x*10)/10

以上是关于js 进一法进位,精确到一位小数该怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

C语言中如何保留一位小数点?

js验证文本框只能输入正整数或带一位小数的数,该怎么写呢?

怎么让产生有小数点数据自动变成进一位的整数,不管小数点后面是多少,都进一位

JS运算结果取小数点后3位

C++中,如何保留指定的小数位,不是COUT输出~

delphi 怎么保留2位小数