js和wxs精确四舍五入,保留两位小数

js:toFix方法为银行家算法,0.15会算成0.01,所以舍弃

var num =2.446242342;
num = Math.round((num + Number.EPSILON) * 100) / 100;  // 输出结果为 2.45

wxs:

var toFixedFn = function (x) {
        var f = parseFloat(x);
        if (isNaN(f)) {
            return '0.00';
        }
        var f = Math.round(x * 100) / 100;
        var s = f.toString();
        var rs = s.indexOf('.');
        if (rs < 0) {
            rs = s.length;
            s += '.';
        }
        while (s.length <= rs + 2) {
            s += '0';
        }
        return s
    }

使用示例:

<wxs module="m1">
    var toFixedFn = function (x) {
        var f = parseFloat(x);
        if (isNaN(f)) {
            return '0.00';
        }
        var f = Math.round(x * 100) / 100;
        var s = f.toString();
        var rs = s.indexOf('.');
        if (rs < 0) {
            rs = s.length;
            s += '.';
        }
        while (s.length <= rs + 2) {
            s += '0';
        }
        return Number(s).toFixed(2);
    }
    module.exports = {
        toFixedFn: toFixedFn
    };
</wxs>

### WXS JavaScript 的区别、用法及特性对比 WXS (WeChat Script) 是微信小程序中的一种脚本语言,尽管其语法看起来与 JavaScript 类似,但实际上两者存在显著差异。以下是关于两者的具体比较: #### 1. **核心概念** - WXS 是专门为微信小程序设计的语言,用于处理逻辑操作并返回结果给视图层[^1]。 - JavaScript 则是一种通用编程语言,广泛应用于 Web 开发中的动态交互。 #### 2. **数据类型** - WXS 支持常见的基础数据类型,如 `number`、`string`、`boolean`、`object`、`function`、`array`、`date` `regexp`[^1]。 - 这些数据类型的定义方式与 JavaScript 基本一致,但在某些高级特性扩展功能上有所限制。 #### 3. **语法支持** - WXS 不支持 ES6 及更高版本的语法结构,例如 `let`、`const`、解构赋值、箭头函数等[^1]。 - 而现代 JavaScript 已经全面拥抱 ES6+ 标准,提供了更简洁强大的语法糖。 #### 4. **模块化机制** - WXS 遵循 CommonJS 规范,通过 `module.exports` 导出模块,并利用 `require()` 加载依赖项[^1]。 - JavaScript 社区目前更多采用 ES Modules (`import/export`) 来实现模块化开发。 #### 5. **运行环境** - WXS 在渲染线程中执行,这意味着它可以安全地访问页面上的 DOM 结构而不干扰主线程的工作流。 - JavaScript 主要运行于浏览器的主要线程之上,因此可能引发阻塞问题如果计算量过大。 #### 6. **性能考量** 当涉及到动画效果时,由于 WXS 更贴近底层并且能够更好地控制资源分配,所以在特定场景下可能会表现出优于纯 CSS 或者基于 JS 实现的效果[^2]。然而实际应用过程中还需要注意优化策略以避免潜在瓶颈比如卡顿现象的发生。 ```css .optimized { will-change: transform; transform: translateZ(0); } ``` 以上代码片段展示了如何通过对 CSS 属性进行调整来提升动画流畅度的一个例子。 --- ### 总结 综上所述,虽然 WXS JavaScript 存在一定的相似之处,但由于应用场景的不同决定了它们各自的特点以及局限所在。开发者应根据项目需求合理选择合适的工具技术栈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hmk1900

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值