[Ka-Ping Yee] #- I agree with Tony. Having both Decimal() and #- Decimal.from_string() work #- in similar but subtly different ways seems likely to be #- misunderstood. Decimal(string) works the way we want/need/desire. Decimal.from_string(string) works the way the documentation specify. I think we can only change the way the former works or the name of the latter. #- I also think his last suggestion could provide a nice, #- convenient solution #- to the conversion-from-float issue, since it raises the same #- question (a #- method named "Decimal.from_float" doesn't explain how or why #- it is different #- from just constructing with a float). You can NOT construct directly from a float. That's the difference. #- So here's a more detailed suggestion. Suppose s = '12345', #- f = 12.345, #- the default context specifies a precision of 9 as given in #- the PEP, and #- c is a context object with a precision of 6. #- #- Then this: would yield this: #- #- Decimal(s) Decimal((0, (1, 2, 3, 4, 5), 0)) #- ... #- Decimal(s, context=c) Decimal((0, (1, 2, 3, 4, 5, 0), -1)) #- ... #- Decimal(f) Decimal((0, (1, 2, 3, 4, 5, 0, 0, 0, 0, 0,... #- ... The community agreed to not create directly from float. You have the from_float() method instead. Also, remember that the context doesn't affect the creation when you create directly from string (only if you use from_string). Your example means to change the behaviour of the creation when creating directly from string? And when create directly from int or long? #- (Do I assume correctly that there will be context objects #- that wrap up #- the precision and rounding mode, and there will be some sort #- of interface #- for getting and setting the current context?) Yes. You can get the context with getcontext() and then change it attributes. . Facundo
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4