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)
不过这里需要强调的是,最终的结果是一个字符串,不是一个数值,所以如果需要进行进一步的数学运算,用处不大有了它。
我正在构建一个简单的加密货币转换页面,在大多数情况下它需要除法和乘法。 我得到的错误是当我将 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)
不过这里需要强调的是,最终的结果是一个字符串,不是一个数值,所以如果需要进行进一步的数学运算,用处不大有了它。