我一直在使用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});
我尝试用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);
大家好,我正在处理关于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的每个变量使用所有十进制后的逗号,近似吗?。
在其他问题中
我正在将一组Access数据项目转换为JavaScript web应用程序,并使用math.js库来维护BigNumbers和有限精度。
Access表单中有一个字段接受表达式(公式),并将答案填充到另一个字段(Factor)中。
后端的SQL数据类型是decimal(38, 30),精度为38,刻度为30。
旧的应用程序已经运行多年了;但是,看起来没有任何计算已经超过小数点28位。
因此,Access/VBA正在舍入到第28点,而不是第30点。
Access/VBA在哪里定义计算中十进制的小数位数?
Private Sub Formula_BeforeUpdate(Cancel As In
请使用以下代码:
float a = 100.0f;
float b = 0.05f;
如果要将a和b之间的除法结果转换为整数,可以使用以下代码:
float c = a / (b * 1000.0f); // c = 2f
int res = (int)c; // res = 2
但是我想减少代码行的数量,所以我更喜欢使用以下代码:
int res = (int)(a / (b * 1000.0f)); // Here we are --> res = 1 !
为什么在最后一段代码中我获得了res = 1而不是res = 2?
我试着用Node.js做这个计算。
let x = 841251657
console.log((x*x)-x)
我得到了:707704349563994000打印出来的。
当我使用朱莉娅时,我得到了同样的计算的707704350405245649。我有谷歌计算器的7.0770435e+17。
显然,这里出了点问题。
我该怎么做才能得到正确的答案?
这是[ ]的后续问题.这是相同的代码:
IF OBJECT_ID(N'dbo.rounding_testing') IS NOT NULL
DROP FUNCTION dbo.rounding_testing;
GO
CREATE FUNCTION dbo.rounding_testing
(
@value FLOAT,
@digit INT
)
RETURNS FLOAT
BEGIN
DECLARE
@factor FLOAT,
@result FLOAT;
SELECT @factor = POWER(
假设我有以下程序:
program derp
implicit none
integer, parameter :: ikind = selected_real_kind(18)
real (kind = ikind) :: a = 2.0 / 3.0
print*, a
end program derp
程序derp输出0.6666666865348815917,这显然不是18位数字的精度。但是,如果使用相同的方法定义a=2.0和b=3.0,然后定义c=a/b,则会得到0.666666666666666666685的输出,这是很好的。我如何将变量定义为整数的商
我有一个事件表,其中包含userid、occured_at、event_type列。我正试图通过以下查询计算每周用户数的增长率。我很困惑我是应该使用浮点还是十进制。都给了我同样的结果。但本质上,两者之间的区别是什么,以及应该在什么时候使用。
帮帮忙吧。
with temp1 AS
(select date_trunc('week', occurred_at) as week, count(distinct(user_id)) as number_of_users
from tutorial.yammer_events
where event_type = 'engag
我已经使用Math.pow()在我的项目中计算了指数值。
现在,对于像Math.pow(3,40)这样的特定值,它返回12157665459056929000。
但是,当我使用科学计算器尝试相同的值时,它返回12157665459056928801。
然后我尝试遍历循环,直到得到指数值:
function calculateExpo(base,power){
base = parseInt(base);
power = parseInt(power);
var output = 1;
gameObj.OutPutString = ''; /