Skip to main content

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

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

Managed Precision
-----------------

                 Key: JAVAMONEY-18
                 URL: http://java.net/jira/browse/JAVAMONEY-18
             Project: javamoney
          Issue Type: New Feature
          Components: Spec: conversion, Spec: core, Spec: specification
            Reporter: atsticks
            Priority: Critical


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