Comments (5)
May be it uses __toString() ?
from money.
Did you try more cases? Negative numbers, decimal, 11 vs 105 etc?
from money.
We think php is comparing the internal properties of the objects (so value
and scale
)
I've managed to break it now.
var_dump(BigDecimal::of(100) > BigDecimal::ofUnscaledValue(1000, 2));
which is the same as 100 > 10.00
which should return true but returns false, since 100 > 1000
;
from money.
Takeaway: don't do this 😉
Good find anyway, I didn't know PHP compared property-by-property in this case. IMO it's a shame that it does not just throw an exception here, until some kind of operator overload is implemented.
from money.
from money.
Related Issues (20)
- Simple rounding test failed HOT 2
- [feature request] Allow changing default rounding mode HOT 1
- ExchangeRateProvider method parameters
- Ability to set default context and rounding mode HOT 3
- Adding/Subtracting Money objects, but can't Multiply/Divide HOT 2
- No support for adding CurrencyProviders HOT 12
- Laravel issue HOT 1
- Requesting a release for brick/math 0.10 compatibility HOT 3
- json serialization HOT 2
- Add a compareTo method HOT 2
- Missing a few country currencies HOT 5
- allocateWithRemainder() performs no allocation HOT 4
- Adding a `times()` alias
- what is the default value of null price? HOT 2
- Calculations without currency. HOT 1
- Allocate method not working as expected. HOT 2
- Support for lowercase currency
- Is it planned to support the distribution of funds by fractional ratios? HOT 1
- Round to nearsest 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 money.