1 除以 5198000 时 JavaScript 中的除法错误

Division error in JavaScript when dividing 1 by 5198000

我正在构建一个简单的加密货币转换页面,在大多数情况下它需要除法和乘法。 我得到的错误是当我将 1 除以 5198000 时,我得到 1.923816852635629e-7 结果 我意识到即使是计算器也会给出同样的结果。 我如何在 JavaScript 中解决这个问题?

控制台中returns1.923816852635629e-7下面的代码 变量 num1=1; var num2=5198000;

变量输出=num1/num2; console.log(输出);

有没有办法转换或绕过这个。

这是科学计数法。十进制格式为 0.0000001923816852635629。生成此字符串以在负指数的 UI 中显示的代码大致为:

var foo = 1/5198000; // scientific value
var sciStr= '' + foo; //cast scientific value to string
var w = '' + sciStr.substring(0, sciStr.indexOf('e')); // extract numerical value
var exp = Math.abs(parseInt(sciStr.substring(sciStr.indexOf('e')+1, sciStr.length))); // get absolute numerical exponent value

// write appropriate number of 0's
var expStr= '0.';
for (var i = 1; i < exp; i++) {
    expStr+='0'; 
}
w = w.substring(0,1)+w.substring(2,w.length) // strip decimal from scientific value

console.log('the decimal form is:')
console.log(expStr+w) // outputs '0.0000001923816852635629'

您需要修改此代码以适用于正指数(在末尾添加 0)

不过这里需要强调的是,最终的结果是一个字符串,不是一个数值,所以如果需要进行进一步的数学运算,用处不大有了它。