JavaScript保留两位小数的实现方法:四舍五入与不四舍五入?
大家好,又见面了,我是你们的朋友全栈君。
以下我们将为大家介绍保留两位小数的实现方法:
四舍五入
以下处理结果会四舍五入:var num =2.;
num = num.(2); // 输出结果为 2.45
不四舍五入
以下处理结果不会四舍五入:
第一种,先把小数边整数:Math.floor(15. * 100) / 100
// 输出结果为 15.77
第二种,当作字符串,使用正则匹配:(15..().match(/^\d+(?:\.\d{0,2})?/))
// 输出结果为 15.77,不能用于整数如 10 必须写为10.0000
注意:如果是负数,请先转换为正数再计算,最后转回负数
保留两位小数的实例:
//保留两位小数
//功能:将浮点数四舍五入,取小数点后2位
(x) {
var f = (x);
if (isNaN(f)) {
f = Math.round(x*100)/100;
f;
//制保留2位小数,如:2,会在2后面补上00.即2.00
(x) {
var f = (x);
if (isNaN(f)) {
false;
var f = Math.round(x*100)/100;
var s = f.();
var rs = s.(‘.’);
if (rs < 0) {
rs = s.;
s += ‘.’;
while (s.
= (){
var a = “23.”;
var aNew;
var re = /(+.{2})*/;
aNew = a.(re,”$1″);
alert(aNew);
< />
3. 他就比较聪明了…..
代码如下:< >
var num=22.;

alert( Math.round(num*100)/100);
< />
4.会用新鲜东西的朋友……. 但是需要 IE5.5+才支持。
5.js保留2位小数(强制)
对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:(3.1),将返回3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:
代码如下: (x) {
var f_x = (x);
if (isNaN(f_x)) {
alert(‘:-> error’);
false;
var f_x = Math.round(x * 100) / 100;
var s_x = f_x.();
var = s_x.(‘.’);
if ( < 0) {
= s_x.;
s_x += ‘.’;
while (s_x.
























