我一直在使用Decimal.js来提高我的函数的精度,该函数通过反复尝试计算a = tan(a)的正根。它工作,但它返回一个“精度限制超过”错误的nTan(504) (将返回4.4934.达到505位数)或更高。
var Decimal = require("decimal.js");
var fs = require("fs");
function nTan (acc, m) {
var test = [1], acc = (parseInt(acc) || 15) + 1;
Decimal.set({precision: acc});
大家好,我正在处理关于javascript天文计算的文件,所以我需要更高的精度。我对每一行都有很多操作,我希望结果更精确(逗号后面的小数点也是10或20)。
在JavaScript中,如果我不声明十进制数(例如使用.ToFixed(n)),那么在计算过程中,语言在逗号之后有多少位置?
例如:
var a= 1.123456789*3.5; // result 3.9320987615
var b= a/0.321;
var c= b*a;
// c => 48.16635722800571
这将是结果?就像对javascript的每个变量使用所有十进制后的逗号,近似吗?。
在其他问题中
我尝试用JS编写Gauss-Legendre算法。我找到了here算法。 这是我写的代码: let ao = 1;
let bo = 1 / Math.sqrt(2);
let to = 1 / 4;
let po = 1;
let an;
let bn;
let tn;
let pn;
let pi;
for (let i = 0; i < 10; i++) {
an = (ao + bo) / 2;
bn = Math.sqrt(ao * bo);
tn = to - po * Math.pow(ao - an, 2);
我试着用Node.js做这个计算。
let x = 841251657
console.log((x*x)-x)
我得到了:707704349563994000打印出来的。
当我使用朱莉娅时,我得到了同样的计算的707704350405245649。我有谷歌计算器的7.0770435e+17。
显然,这里出了点问题。
我该怎么做才能得到正确的答案?
我已经使用Math.pow()在我的项目中计算了指数值。
现在,对于像Math.pow(3,40)这样的特定值,它返回12157665459056929000。
但是,当我使用科学计算器尝试相同的值时,它返回12157665459056928801。
然后我尝试遍历循环,直到得到指数值:
function calculateExpo(base,power){
base = parseInt(base);
power = parseInt(power);
var output = 1;
gameObj.OutPutString = ''; /
我试图理解为什么模块操作不能像预期的那样工作:
我需要验证一个IBAN,算法包括做一个模块。
根据维基百科:
3214282912345698765432161182 mod 97 =1
根据我的Windows计算器::3214282912345698765432161182 mod 97 =1
但是当我在JS上做的时候我得到了65:
var result = 3214282912345698765432161182 % 97;
console.log(result);
// result is 65
为什么我只有65岁而不是JS的1岁?
我想用任意精度的计算( A / B )的一些( C /D)根,用于根的十进制展开(例如,如果所需的精度是整数E,则结果应该包含根的小数点之后的E数字;E可能至少等于数万个;A、B、C、D是包含数万小数位数的整数),但我发现的所有Javascript数学库都拒绝处理这些数字。
我试着使用,但它的精度有限,输入的大小也有限。例如,如果我想用1025个有效数字计算2的平方根(最后一个数字可能以某种方式舍入),我对Decimal.js使用了以下代码:
Decimal.set({ precision: 1025 });
var r2 = Decimal.pow(2, Decimal.div(1, 2))
我正在使用以下代码将一个数据表批量插入到我的SQL表中:
// Set up the bulk copy object.
using (SqlBulkCopy bulkCopy =
new SqlBulkCopy(destinationConnection.Connection))
{
bulkCopy.DestinationTableName =
Constants.ReportDa
我希望通过使用可读函数来读取包含多个数字的数字的.csv文件。然后,我需要过滤一些行并将表导出到一个.txt文件中。我设法执行了这项任务,但是导出的文件包含的数字与存储在原始.csv文件中的数字相比要少一些。
如何保持与原始文件相同的十进制数?
这里有一个示例代码:"NEOs_asteroids.csv“附在这个问题上:
clear all; close all; clc;
%Data import from .CSV files
file_name_asteroids = 'NEOs_asteroids.csv';
%Asteroid data reading
o
我做的是“两个数字之间的百分比变化”计算,我最初写的是(使用Excel 2013):
=(NEW NUMBER - OLD NUMBER)/OLD NUMBER
我将其更改为:
=NEW NUMBER/OLD NUMBER -1
。。用一个大的电子表格来测试它是否更快。像我经常做的那样,我检查生成的数字是否都相等(使用强制的CellColX = CellColY公式),其中大约80%是相等的,但其他的不是--相差很小。我观察了计算公式工具中的操作,并将单元格中的小数位扩展到它返回全0的位置。
例如,OLD NUMBER = 10.44和NEW NUMBER = 10.86使用第一种方法解析为0