Web客户端上的大十进制

时间:2012-10-06 07:24:04

标签: javascript bigdecimal

我正在使用bigDecimal.js:

https://github.com/iriscouch/bigdecimal.js

在我的node.js项目服务器端没有任何问题但是当我在客户端上尝试相同时,我似乎无法正确引用bigDecimal对象。在github页面上它有一个链接:

http://jhs.iriscouch.com/demo/_design/bigdecimal/_show/ui?e=321.4567890*123456789.123456789987654321

我在html中有一个指向bigdecimal.js的链接:

<script src="/javascripts/bigdecimal.js" type="text/javascript"></script>

并且脚本肯定在那里,因为我可以在chrome中导航到它。

我的代码如下:

var bd = {"BigDecimal":BigDecimal, "BigInteger":BigInteger, "RoundingMode":RoundingMode};
var bigDeletedVideoID = bd.BigInteger('9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999');
var bigLowNum = bd.BigInteger('1');
alert(bigDeletedVideoID.subtract(bigLowNum));

但我在第一行的chrome中遇到错误:

BigDecimal is not defined.

有没有人有使用BigDecimal的经验以及如何在javascript网络客户端上执行此操作?

更新:

我测试了localhost上的代码,即如下所示引用.js库:

http://localhost:11709/javascripts/bigdecimal.js

我正确显示警告信息。

但是当我将网站上传到实时服务器时,现在变成了:

    http://pazooza.azurewebsites.net/javascripts/bigdecimal.js

突然间,我特别得到了2个错误:

  • 意外标识符bigdecimal.js第293行
  • 未定义BigDecimal

为什么它可以在localhost上运行而不是在实时站点上运行???

1 个答案:

答案 0 :(得分:0)

来自:Load javascript via Firebug console

var script = document.createElement("script");
script.src = "http://pazooza.azurewebsites.net/javascripts/bigdecimal.js";
document.body.appendChild(script);

在重写此答案之前,我似乎没有任何名称空间冲突: 相反,必须非常精确地不使用符号&#39; BigDecimal&#39; 之前 js页面已加载......

这通常由onload事件处理。

原始建议是使用node.js框架或假设命名空间 BD
正如https://github.com/iriscouch/bigdecimal.js

所建议的那样
 var foo=require("bigdecimal.js"); var i = foo.BigDecimal("1235");