Giter VIP home page Giter VIP logo

tofixed-round's Introduction

修复toFixed四舍五入不准确问题

安装

yarn add tofixed-accurate

使用方式在程序入口处引入,对四舍五入的表达式用toFixed

import 'tofixed-accurate';
console.log((0.1+0.205).toFixed(2));// 测试一下 结果为0.31即为成功,没引的话是0.30

为什么要做这个包

有很多包能解决这个问题,但是使用很麻烦比如 mathjs。

单个的加减乘除用起来没有问题,但是复杂表达式用起来就难受了,下面这些是取自mathjs的readme写法与用tofixed-accurate写法对比。无论是表达式写法,还是链式 调用,都没有tofixed-accurate的写起来舒服

mathjs tofixed-accurate
evaluate('12 / (2.3 + 0.7)') (12 / (2.3 + 0.7)).toFixed(2)
evaluate('9 / 3 + 2') (9 / 3 + 2).toFixed(2)
chain(3).add(4).multiply(2).done() ((3 + 4) * 2).toFixed(2)

使用tofixed-accurate只要在需要准确结果的地方加上toFixed就能保证四舍五入结果是准确的,中间过程的计算正常写就行,减少心智负担。一般情况都是在计算公式 的最终结果进行四舍五入,但是不排除有些业务是要求中间过程四舍五入的,注意这2种方式在有些情况下结果是有差异的。如

(0.123 * 1 + 0.123 * 1).toFixed(2) = 0.25

((0.123 * 1).toFixed(2) * 1 + (0.123 * 1).toFixed(2) * 1).toFixed(2) = 0.24

tofixed-round's People

Contributors

cocosilent avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.