问题标签 [scientific-notation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xslt - 数学结果是科学浮点数,不能再用它计算
我正在尝试制作一个可以通过四元数将位置(vector3)转换为新位置的xslt。我已经进行了以下设置,但我正在检索NaN
接近 0 的非常小的值。如何使用从四元数到右向量计算的值进一步计算?
可以输入的 xml 值的示例如下:
javascript - Javastipt 科学记数法覆盖
我正在尝试编写一个代码来计算给定数字中 5 个连续数字的最大乘积。
我尝试将数字转换为数组的代码,然后循环遍历数组,将每 5 个连续的单个数字相乘并将其与最后一个数字进行比较。
一旦我通过函数的数字超过 21 位,我猜计算机会将数字转换为科学计数法,这会导致整个函数关闭。
这是代码,它在 21 位上运行良好:
当我添加另一个数字时:
它开始使用科学计数法。
这是由于 Javascript 的性质、我使用的计算机、编译器还是什么?
c - 以科学记数法将小(1.0E-12)数字存储为双精度数
这是设置:
对于我的学士论文,我想测试 LHC 使用的喷射算法。基本上第一步是以下步骤:给定一些 4-momentum
我想通过以 10^(-12) 的顺序向最后三个分量添加一些(如 50 个)随机生成的 4 向量来模拟实验数据,这样它们就很小(这就是有趣的物理学发生的地方),但是显着高于 15 位小数的双浮点精度。因此,快速而肮脏的解决方案如下:
这给了我 1E-12 和 10E-12 (=1E-11) 之间的随机数,最多三位小数,所以在“真实”双打中,这给了我 15 位小数。
现在重点是:我可以在不超过双浮点精度的情况下以超过三位小数的顺序存储数字吗?
PS:有没有更好的方法来生成小的随机数?(这听起来像是另一个话题;))
regex - 如何使用正则表达式查找化学式
这个问题可能不是一个特定的编程问题,但是,我尝试在科学文本中找到 H20、C02 等化学公式,我使用这个:
这有效 - 但现在也找到了“点”之后的每个浮点数:
有机会防止这种情况吗?提前致谢!
matlab - 使用 Matlab 避免科学记数法
我已经尝试过:
但是像这样的数字用科学记数法显示:
如何在不使用类似的东西的情况下避免科学记数法fprintf
?
java - 科学记数法被解释为 int 还是 float?
如果我在我的代码中使用科学记数法(例如1e9
)硬编码一个数字,那么该数字的类型是什么(int、long、float、double..)?
当有效数或指数是浮点数时,它显然不能是整数,但是在上述情况下呢?
perl - 如何将科学记数法转换为十进制记数法?
我有一个关于将$calc
值从科学计数法转换为十进制的问题。请问有什么想法吗?
javascript - 使用 getItemValueDouble 返回的科学记数法
我有一个带有以下代码行的 SSJS 函数,它不断以科学计数法返回字段“day”的值。除了以下内容之外,我还尝试过使用 BigDecimal,但没有任何区别。SO 和其他关于科学记数法到十进制的博客上的所有其他问题都有 java 的示例,因此我已尽我最大的努力来解释如何为 SSJS 解释这些示例。
值存储在使用以下代码中的 exportDoc 访问的文档中,使用字段名称
字段名称:day
数据类型:数字
数据长度:8 字节
Seq Num:1
Dup 项目 ID:0
字段标志:摘要
-37.5
如果我将 exportDoc.getItemValueDouble('day') 乘以 10,我得到 -375,如果我再除以 10,我仍然得到 -3.75E1,如果我使用 exportDoc.getItemValueInteger('day'),我得到 -38。
这不会发生在整数负数(如 -2、-108 等)或正数(即使不是整数)中。
非常感谢任何帮助,因为这会在导入我们的 HRIS 系统时引起问题。
php - PHP 科学记数法缩短
我在这里寻找一个优雅的解决方案(如果存在的话)。
我有一堆数字,有任意数量的小数位。如果它有超过 8 个尾随零,我想强制数字使用 8 位小数,即
0.000000004321
那将转换为:
0.00000001
但我不想使用数字格式,因为如果我用数字格式强制它使用 8 位小数,我没有 8 位小数的数字将如下所示:
1.00000000
我宁愿这些看起来像(对于金额> = 1):
1.00700000 -> 1.01
对于金额 < 1:
0.00300000 -> 0.003
如果数字小于 1,即 0.XX,我希望它具有更高的精度(最多 8 个,切掉所有尾随的 0)。
所以,再一次,这里有几个例子来说明清楚:
目前,由于小数位数,我的非常小的数字也以科学计数法显示。所以这是我需要担心的另一件事(即转换科学记数法来进行计算)。
我知道我可以用一堆通用逻辑来做到这一点,但这似乎是一种很老套的做事方式,当然有一些很好的解决方案。
谢谢你。
scheme - 科学计数法转换 - 方案
我正在尝试对两个非常大的数字进行简单的减法运算。
当我这样做时,我得到的结果为 0.0。我期待输出:
扩展的科学记数法会给我这个答案。
183052866407243622723319.24395251 - 183052866407243622723319.00 = .2439521
我想用十进制数字表示这些数字,而不是科学记数法,这样我就可以达到预期的结果。有没有办法在 Scheme 中做到这一点?任何帮助、指导或参考将不胜感激:)
我正在为 Windows 64 位和 R5RS 语言使用 DrRacket。
编辑
我想我会尽可能具体地说明我正在执行的算术示例。
算术:
在计算器中进行相同的乘法运算时,结果为 => 168092622971502827156.7975214365
当尝试使用精确或不精确时,我得到了这个:
我想 R5RS 不支持精确/不精确?我查了一下,示例显示使用不精确->精确过程,所以我做了并得到了这个:
只是为了具体起见,我做了相反的事情:
因此,我尝试使用 Big Float,就像有人提到的那样:
给我与精确相同的输出。我只想保存从计算器中得到的数字,这似乎是一项非常困难的任务!很抱歉,我可能因为没有得到这个而听起来很愚蠢,请记住,我是 SCHEME 的一个极端业余爱好者。再次感谢你的帮助!:)