Comments (4)
Please note that the local formatter is implemented similarly. Maybe some redundant stuff can be merged.
from indriya.
Thanks, could you try, how UCUMFormat
treats this as a comparison?
from indriya.
val indriyaFormatter = DefaultFormatService().getUnitFormat("EBNF")
val ucumFormatter = UCUMFormatService().unitFormat
val indriyaUnit = Units.METRE.multiply(2).multiply(2)
val ucumUnit = UCUM.METER.multiply(2).multiply(2)
println("indriyaFormatter/indriyaUnit:" + indriyaFormatter.format(indriyaUnit))
println("ucumFormatter/indriyaUnit:" + ucumFormatter.format(indriyaUnit))
println("indriyaFormatter/ucumUnit: " + indriyaFormatter.format(ucumUnit))
println("ucumFormatter/ucumUnit: " + ucumFormatter.format(ucumUnit))
Result:
indriyaFormatter/indriyaUnit:m·2
ucumFormatter/indriyaUnit:(m.2).2
indriyaFormatter/ucumUnit: m·2
ucumFormatter/ucumUnit: (m.2).2
The UCUM formatter seems to handle that nicely.
I tried my suggested fix for the EBNF stuff and it works fine in my initial tests, but I'm too lazy to apply for a JCP/JSR membership just for creating a PR. But my fix is only to set the parentUnit to the parent unit in the case of a transformed unit + deleting the workaround stuff in that section (hopefully there are unit tests which cover them, but the unit tests work as without the fix).
from indriya.
Thanks for trying. As they all use resource bundles underneath the hood, there could be some inspiration or patch based on UCUMFormat
. The latter does not need JCP membership. For the odd PR I also think that is fine, and you could propose one without a JCP membership. If someone contributes more often, or many lines of code, then it would be better.
from indriya.
Related Issues (20)
- Add ability to remove label from `SimpleUnitFormat` HOT 2
- indriya 2.1.3 depends on two versions of javax.measure:unit-api
- Create Java 9+ version of Calculus
- Release Indriya 2.2
- Release 2.2 missing on Maven central HOT 2
- Turn Range into an Interface
- Support interoperability to other unit systems HOT 15
- Allow to create a standard SymbolMap for EBNF
- Lazy reduces scalability of applications using Indriya HOT 1
- Turn QuantityRange into a record for Java 17+
- Missing symbol for some derived units HOT 2
- Change internals of SimpleUnitFormat
- Create a "SymbolMapUnitFormat" abstraction over EBNF and LocalUnitFormat
- Adding a Pattern to SimpleUnitFormat similar to SimpleQuantityFormat or SimpleDateFormat
- Parsing of 1/mile is not possible HOT 1
- EBNFUnitFormat formats into a string that it cannot parse back anymore HOT 2
- Overflow or underflow happening for simple addition? HOT 7
- Correct JavaDoc for ComparableQuantity
- Scaling / multiplication is unable to apply factors to temperatures HOT 10
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 indriya.