Skip to main content

[JIRA] Updated: (JAVAMONEY-18) Managed Precision

  • From: "atsticks (JIRA)" <jira-no-reply@...>
  • To: issues@...
  • Subject: [JIRA] Updated: (JAVAMONEY-18) Managed Precision
  • Date: Sat, 16 Feb 2013 16:11:53 +0000 (GMT+00:00)
  • Auto-submitted: auto-generated


     [ 
http://java.net/jira/browse/JAVAMONEY-18?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

atsticks updated JAVAMONEY-18:
------------------------------

    Fix Version/s: 1.0-b01

> Managed Precision
> -----------------
>
>                 Key: JAVAMONEY-18
>                 URL: http://java.net/jira/browse/JAVAMONEY-18
>             Project: javamoney
>          Issue Type: New Feature
>          Components: Platform: Core Artifacts
>            Reporter: atsticks
>            Priority: Critical
>             Fix For: 1.0-b01
>
>
> Several aspects of arithmetic precision were identified: 
> * *internal precision* defines the precision used for performing 
> arithmetical operations. By default a {{MonetaryAmount}} will always 
> represented/rounded to this internal precision internally. This allows to 
> separate concrete rounding requirements from the types numeric 
> representation. 
> * When {{MonetaryAmount}} with different precision are used for a 
> caclulation: 
> ** then the higher of both precisions is used for the result. This is also 
> the case if the system's internal precision is less. 
> ** If the higher of both precisions is less than the internal precision, 
> the result has the internal precision. 
> * *external precision* is the precision applied, when a {{MonetaryAmount}} 
> is externalized, e.g. by calling one of the {{int toInteger(), double 
> toDoubple(), float toFloat()}} etc. methods, or by calling {{<T> T 
> asType(Class<T>)}}. Hereby the precision basically should be the same as 
> the internal precision, but the representation of the externalized value 
> may require to reduce the precision. In case of the {{toInteger()}} method 
> this is quite obvious. 
> * *formatting precision* this is the precision (or rounding) applied, when 
> a monetary amount should be formatted for print out or display. 
> All these must be clearly separated, especially external and formatting 
> precision are not part of the monetary amount's value type. Nevertheless 
> the internal precision also must be serialized somehow, since different VMs 
> may operate with different internal precisions. Therefore it is important 
> that the precisoin information is also available on the target VM, so 
> different precisions can be managed.
> So the following points must be considered:
> * internal precition must be defined (by default)
> * internal precision must be accessible 
> ** the default precision
> ** the effective precision on an instance
> * precision must be adaptable based on the use case
> * precision must be serialized
> * mechanisms must be defined and implemented that ensure correct precision 
> handling.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://java.net/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[JIRA] Created: (JAVAMONEY-18) Managed Precision

atsticks (JIRA) 02/01/2013

[JIRA] Commented: (JAVAMONEY-18) Managed Precision

chrispheby (JIRA) 02/05/2013

[JIRA] Updated: (JAVAMONEY-18) Managed Precision

atsticks (JIRA) 02/16/2013

[JIRA] Updated: (JAVAMONEY-18) Managed Precision

atsticks (JIRA) 02/16/2013
 
 
Close
loading
Please Confirm
Close