我对JavaScript非常陌生,并且正在尝试使用decimal.js,用于一个需要分数指数的项目。
我已经尝试了我在示例中看到的所有变体,但我的变量声明失败了,导致脚本中止。结果是一个空白文档。
我已经剥离了脚本,以包含我认为这个问题将需要的内容。
<HTML>
<HEAD>
<TITLE>My First Script</TITLE>
<script src="http://mikemcl.github.io/decimal.js"></script>
<!--
<script src="https://unpkg.com/mathjs/dist/math.js"></script>
-->
<HR>
<H1>Title</H1>
<HR>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript"> <!--
function myFunction(parm) {
var Decimal = require('decimal.js')
Decimal.set({precision: 200});
var dn = new Decimal(parm)
document.write(dn)
}
myFunction(123.456789)
// --> </SCRIPT>
</BODY>
</HTML>发布于 2019-09-02 11:54:22
我以前只使用过decimal.js作为npm包,而不是直接加载到浏览器中的脚本,但是require('decimal.js')不是您在浏览器中加载此脚本的方式,而且您肯定不想在每次调用函数时反复加载它。
试着去掉这一行:var Decimal = require('decimal.js'),看看能走多远。通过加载脚本,应该已经将Decimal定义为全局变量。
此外,如果您想获得'decimal.js‘提供的完整精度,请使用字符串值初始化值,而不是数字值,如下所示:
myFunction('123.456789')
否则,您将永远无法获得比常规JavaScript number提供的精度更高的精度。
https://stackoverflow.com/questions/57751186
复制相似问题