Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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 如何处理这种舍入错误_Javascript - Fatal编程技术网

Javascript 如何处理这种舍入错误

Javascript 如何处理这种舍入错误,javascript,Javascript,当我用Javascript做一些简单的算术时,出现了一些舍入错误。我不想这样,但我不知道怎么处理。 例如: 38.8*3=>116.399999999 使用这个 function multiply (a, b) { exp = b.toString().length - 2; function makeInt (num) { return num * Math.pow(10, exp); } function makeFloat(num) {

当我用Javascript做一些简单的算术时,出现了一些舍入错误。我不想这样,但我不知道怎么处理。 例如:

38.8*3=>116.399999999

使用这个

function multiply (a, b) {
   exp = b.toString().length - 2;
   function makeInt (num) {
       return num * Math.pow(10, exp);
   }
   function makeFloat(num) {
       return num / Math.pow(100, exp);
   }
   return makeFloat(makeInt(a) * makeInt(b));
} 

var result = multiply(38.8,3)

console.log(result);

使用这个

function multiply (a, b) {
   exp = b.toString().length - 2;
   function makeInt (num) {
       return num * Math.pow(10, exp);
   }
   function makeFloat(num) {
       return num / Math.pow(100, exp);
   }
   return makeFloat(makeInt(a) * makeInt(b));
} 

var result = multiply(38.8,3)

console.log(result);
使用Math.ceil(38.8*3)或Math.floor(38.8*3)

使用Math.ceil(38.8*3)或Math.floor(38.8*3)

您可以使用
parseFloat((38.8*3).toFixed(2))
您可以使用

parseFloat((38.8*3).toFixed(2))

您需要将数字四舍五入到最接近的整数。选中此项:您可以像这样舍入数字-var n=num.toFixed(2);你需要把数字四舍五入到最接近的整数。选中此项:您可以像这样舍入数字-var n=num.toFixed(2);