Comments (5)
I'm seeing the same behavior with Firefox and Safari. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed, which has a detailed explanation (for 2.55).
from d3-format.
Well, (1.555).toFixed(2)
producing "1.55"
is the intended behavior. But I guess d3.formatPrefix introducing rounding error is not intended.
from d3-format.
This appears to be a problem with Chrome's .toFixed()
function, where numbers ending in 5 won't round up. The workaround is to use Math.round()
before calling .toFixed()
.
This seems to require an update to the f
type in formatTypes.js.
So for the above case it would be:
(Math.round(1.555*100)/100).toFixed(2)
And in the generalised sense:
"f": (x, p) => (Math.round(x * Number('1e' + i)) / Number('1e' + i)).toFixed(p)
from d3-format.
Working as intended.
from d3-format.
I made a local branch to submit a PR but I don't have write access.
The needed change is to formatTypes.js.
"f": (x, p) => (Math.round(x * Number('1e' + p)) / Number('1e' + p)).toFixed(p);
My earlier comment had i
instead of p
for some reason, oops.
from d3-format.
Related Issues (20)
- Improve readability of SI format for very small/large numbers HOT 2
- import conflict with 3.0.0 update HOT 7
- Error with jest in version 3.0.0 HOT 1
- `"c"` format does not work as expected HOT 4
- Hot reload is complaining about named functions in nextjs HOT 4
- Using the locale .json files directly is not possible anymore HOT 1
- Add any string suffix to number. HOT 1
- Pick locale based on users browser automatically rather than fetching the locale definitions HOT 2
- Missing d3-format.min.js HOT 3
- Undefined Import in Next.js HOT 1
- I am using d3 in nextJs 7.0.x , it is giving error Instead rename index.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from C:\Home\Wildlife-Insights\node_modules\d3\package.json. HOT 1
- Using custom units in d3-format HOT 3
- Is it possible to support locale zh-TW? HOT 3
- Should functions be named across `d3-*` ? HOT 4
- Unit is generated outside parenthesis for negative numbers
- zh-TW is not supported HOT 2
- Specify type `g` decimal to exponential break point
- formatPrefix vs format handling of parentheses
- The minus sign generated by d3.format not compatible with SVG HOT 1
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 d3-format.