Comments (3)
Use toPrec
https://github.com/gentooboontoo/js-quantities#rounding
Qty(222224, "mm").to("cm").toPrec('mm').scalar
22222.4
from js-quantities.
Thanks @glepretre i think thats a good Quick Solution for most cases.
But for me it does not really solve the root rounding problem. Because i have to define a rounding precission inside my source code but i dont know how many decimal places the user may enter.
The user may also input a value of 222224.123
mm and want to calculate it to centimeter then the expected output is 22222.4123
console.log("222224.123 mm to cm", Qty(222224.123, "mm").to("cm").scalar)
Output
22222.4123
✔ This works fine somehow
But if i use .toPrec i have to define a maximum precission
console.log("222224.123 mm to cm", Qty(222224.123, "mm").to("cm").toPrec(0.001).scalar)
Output
22222.412
❌ the last digit is missing, i have to define the prec even smaller
So i would have to define a toPrec something like this: .toPrec(0.00000001)
which is just simply super hacky because it is a magic number
I really expect that the js-quantities framwork just simply outputs 22222.4 instead of 22222.399999999998 by default, it is just a division through 10
from js-quantities.
I think the issue can be closed, because it's a javascript internal behavior to have some weird precision "issues" sometimes:
https://stackoverflow.com/questions/963873/1-265-10000-126499-99999999999
I think it's not job of this libary to fix it, with round we have a good workaround
from js-quantities.
Related Issues (20)
- Dividing by temperatures HOT 1
- Dividing by temperature HOT 1
- add metric ton symbol "t" HOT 1
- surfaces (m², km², hectares) HOT 1
- compatibility with Unified Code for Units of Measure HOT 1
- Translation of units into different languages
- no power operators? HOT 1
- Human readable value in contrained range HOT 2
- js-quantities is incompatible with sugarjs and prototypejs
- Lacking precision necessary for required comparisons HOT 10
- No converter for Miliradians
- Swift Converter error: Incompatible units
- Values formatted with group separators do not parse
- Pretty unit output
- Publish new version to npm HOT 1
- Can't import the ES module in Angular HOT 4
- Can't convert nautical miles to meters correctly HOT 1
- The base scalar of 'sqft' is incorrect HOT 3
- NaN and Infinity not allowed HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from js-quantities.