我正在尝试移动数字周围的小数位。我有以下设置。
dividend = 9130.124;
numFactor = 1;
dividend = (dividend * Math.pow(10, numFactor));
我得到以下结果
91301.23999999999
我以为我会得到类似的东西
91301.24
如果我将股息更改为9130.123
我得到正确答案91301.23
有没有办法解决这个问题或者我错过了什么?
我正在尝试移动数字周围的小数位。我有以下设置。
dividend = 9130.124;
numFactor = 1;
dividend = (dividend * Math.pow(10, numFactor));
我得到以下结果
91301.23999999999
我以为我会得到类似的东西
91301.24
如果我将股息更改为9130.123
我得到正确答案91301.23
有没有办法解决这个问题或者我错过了什么?
Math.ceil(91301.23999999999*100)/100 // = 91301.24
dividend=9130.124;
numFactor=1;
dp=3;
dividend = (dividend * Math.pow(10,numFactor));
dividend = Math.round(dividend * Math.pow(10,dp) + 0.5) / Math.pow(10, dp)
这是因为你的红利是 9130.12399999 ......所以你必须在改变它之前使用 divide.toFixed() ..
dividend = 9130.12399999
dividend.toFixed(3); // here dividend will be 9130.124
numFactor = 1;
dividend = (dividend * Math.pow(10, numFactor));
您将获得 91301.24
尝试这个:
dividend = 9130.124345;
dividend = dividend.toString();
numFactor = 2;//can be changed as u need
var indx = dividend.indexOf( '.' );
dividend = dividend.replace( /\./g, "" );//remove .
dividend = dividend.substring( 0, indx + numFactor ) + '.' +
dividend .substring( indx + numFactor, dividend.length );
适用于 numFactor 的任何值。并且不需要额外的库