易截截图软件、单文件、免安装、纯绿色、仅160KB

javascript 浮点数运算的时候出错 有比较明显的误差

/********************************************************************************/
//javascript在两个浮点数运算的时候会有比较明显的误差。增加下列方法解决。
//2009-07-18 Skyeah
//除法函数,用来得到精确的除法结果
//说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。
//调用:accDiv(arg1,arg2)
//返回值:arg1除以arg2的精确结果
function accDiv(arg1, arg2) {
    var t1 = 0, t2 = 0, r1, r2;
    try { t1 = arg1.toString().split(".")[1].length } catch (e) { }
    try { t2 = arg2.toString().split(".")[1].length } catch (e) { }
    with (Math) {
        r1 = Number(arg1.toString().replace(".", ""))
        r2 = Number(arg2.toString().replace(".", ""))
        return (r1 / r2) * pow(10, t2 - t1);
    }
}
//给Number类型增加一个div方法,调用起来更加方便。
Number.prototype.div = function(arg) {
    return accDiv(this, arg);
}
//乘法函数,用来得到精确的乘法结果
//说明:javascript的乘法结果会有误差,在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
//调用:accMul(arg1,arg2)
//返回值:arg1乘以arg2的精确结果
function accMul(arg1, arg2) {
    var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
    try { m += s1.split(".")[1].length } catch (e) { }
    try { m += s2.split(".")[1].length } catch (e) { }
    return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
}
//给Number类型增加一个mul方法,调用起来更加方便。
Number.prototype.mul = function(arg) {
    return accMul(arg, this);
}
//加法函数,用来得到精确的加法结果
//说明:javascript的加法结果会有误


相关文档:

javascript对象机制

                var currItem = listbox.options[currIndex];
                var prevItem = listbox.options[currIndex - 1];
    &n ......

Javascript 货币格式化函数

平时我们有可能遇到需要把网站中的数字(通常是价格)用一种统一的方式显示出来,比如每隔3个字符加一个空格。如果数值比较大的话这种方法很有利于用户阅读。
用XSLT的朋友可能知道在XSL中可以用如下代码实现
<xsl:decimal-format name="currency" decimal-separator="." grouping-separator=" "/>
今天研究了一下 ......

Javascript遍历Html Table(包括内容和 属性值)


1: 遍历并输出Table中值
<table id="tb">
    <tr>
       <td></td>
    </tr>
    <tr>
       <td></td>
    </tr>
</ ......

JavaScript 实现的简繁转换功能

//简繁转换功能
// 将指定元素中的文本转换为简体
function bodytojt(x)
{
var bodys=document.getElementById(x);
bodys.innerHTML=Simplized(bodys.innerHTML);
}
// 将指定元素中的文本转换为繁体
function bodytoft(x)
{
var bodys=document.getElementById(x);
bodys.innerHTML=Traditionalized(bodys.in ......

10种新的、有前途的JavaScript框架

1. SproutCore
SproutCore 苹果对SproutCore的解释为“开源,平台无关,类Cocoa的JavaScript框架,用于创建具有桌面应用程序外观和操作感的Web应用程序。”
SproutCore demonstrations: Photos, Sample Controls
2. Spry
Spry 是Adobe 的 Ajax framework. Spry的目的是成为实现Ajax的一种简单方式,对HTML、C ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号