byte ind
byte form
This property is an optimization; it allows us to defer number layout until it is actually needed as a string, hence avoiding unnecessary formatting.
byte[] mant
Once constructed, this may become shared between several BigDecimal objects, so must not be altered.
For efficiency (speed), this is a byte array, with each byte taking a value of 0 -> 9.
If the first byte is 0 then the value of the number is zero (and mant.length=1, except when constructed from a plain number, for example, 0.000).
int exp
For fixed point arithmetic, scale is -exp, and can apply to zero.
Note that this property can have a value less than MinExp when the mantissa has more than one digit.
int digits
The BigDecimal operator methods use this value to
determine the precision of results.
Note that leading zeros (in the integer part of a number) are
never significant.
digits will always be non-negative.
int form
The BigDecimal operator methods use this value to
determine the form of results, in particular whether and how
exponential notation should be used.
boolean lostDigits
true to enable checking, or
to false to disable checking.
When enabled, the BigDecimal operator methods check
the precision of their operand or operands, and throw an
ArithmeticException if an operand is more precise
than the digits setting (that is, digits would be lost).
When disabled, operands are rounded to the specified digits.
int roundingMode
The BigDecimal operator methods use this value to
determine the algorithm to be used when non-zero digits have to
be discarded in order to reduce the precision of a result.
The value must be one of the public constants whose name starts
with ROUND_.
java.util.Map<K,V> pluralCountToCurrencyUnitPattern
PluralRules pluralRules
ULocale ulocale
Calendar calendar
DateFormat uses to produce the time field
values needed to implement date and time formatting. Subclasses should
initialize this to a calendar appropriate for the locale associated with
this DateFormat.NumberFormat numberFormat
DateFormat uses to format numbers
in dates and times. Subclasses should initialize this to a number format
appropriate for the locale associated with this DateFormat.java.lang.String[] eras
Calendar.BC and Calendar.AD.java.lang.String[] eraNames
Calendar.BC and Calendar.AD.java.lang.String[] narrowEras
Calendar.BC and Calendar.AD.java.lang.String[] months
Calendar.JANUARY, Calendar.FEBRUARY, etc.java.lang.String[] shortMonths
Calendar.JANUARY, Calendar.FEBRUARY, etc.java.lang.String[] narrowMonths
Calendar.JANUARY, Calendar.FEBRUARY, etc.java.lang.String[] standaloneMonths
Calendar.JANUARY, Calendar.FEBRUARY, etc.java.lang.String[] standaloneShortMonths
Calendar.JANUARY, Calendar.FEBRUARY, etc.java.lang.String[] standaloneNarrowMonths
Calendar.JANUARY, Calendar.FEBRUARY, etc.java.lang.String[] weekdays
Calendar.SUNDAY,
Calendar.MONDAY, etc.
The element weekdays[0] is ignored.java.lang.String[] shortWeekdays
Calendar.SUNDAY,
Calendar.MONDAY, etc.
The element shortWeekdays[0] is ignored.java.lang.String[] narrowWeekdays
Calendar.SUNDAY,
Calendar.MONDAY, etc.
The element narrowWeekdays[0] is ignored.java.lang.String[] standaloneWeekdays
Calendar.SUNDAY,
Calendar.MONDAY, etc.
The element standaloneWeekdays[0] is ignored.java.lang.String[] standaloneShortWeekdays
Calendar.SUNDAY,
Calendar.MONDAY, etc.
The element standaloneShortWeekdays[0] is ignored.java.lang.String[] standaloneNarrowWeekdays
Calendar.SUNDAY,
Calendar.MONDAY, etc.
The element standaloneNarrowWeekdays[0] is ignored.java.lang.String[] ampms
Calendar.AM and
Calendar.PM.java.lang.String[] shortQuarters
java.lang.String[] quarters
java.lang.String[] standaloneShortQuarters
java.lang.String[] standaloneQuarters
java.lang.String gmtFormat
java.lang.String[][] gmtHourFormats
java.lang.String[][] zoneStrings
TimeZone.
Each such row contains (with i ranging from
0..n-1):
zoneStrings[i][0] - time zone IDzoneStrings[i][1] - long name of zone in standard
timezoneStrings[i][2] - short name of zone in
standard timezoneStrings[i][3] - long name of zone in daylight
savings timezoneStrings[i][4] - short name of zone in daylight
savings timezoneStrings[i][5] - location name of zonezoneStrings[i][6] - long generic name of zonezoneStrings[i][7] - short generic of zoneTimeZonejava.lang.String localPatternChars
DateFormat.ERA_FIELD,
DateFormat.YEAR_FIELD, etc. Thus, if the string were
"Xz...", then localized patterns would use 'X' for era and 'z' for year.ULocale requestedLocale
ULocale validLocale
ULocaleULocale actualLocale
ULocaleDateIntervalInfo fInfo
SimpleDateFormat fDateFormat
Calendar fFromCalendar
Calendar fToCalendar
java.lang.String fSkeleton
private void readObject(java.io.ObjectInputStream stream)
throws java.io.IOException,
java.lang.ClassNotFoundException
serialVersionOnStream is less than 1, indicating that the stream was
written by JDK 1.1, initialize useExponentialNotation to false, since
it was not present in JDK 1.1. Finally, set serialVersionOnStream back to the
maximum allowed value so that default serialization will work properly if this
object is streamed out again.java.io.IOExceptionjava.lang.ClassNotFoundExceptionprivate void writeObject(java.io.ObjectOutputStream stream)
throws java.io.IOException
java.io.IOExceptionjava.lang.String positivePrefix
DecimalFormat.getPositivePrefix()java.lang.String positiveSuffix
DecimalFormat.getPositiveSuffix()java.lang.String negativePrefix
DecimalFormat.getNegativePrefix()java.lang.String negativeSuffix
DecimalFormat.getNegativeSuffix()java.lang.String posPrefixPattern
positivePrefix.
This pattern is expanded by the method expandAffix() to
positivePrefix to update the latter to reflect changes in
symbols. If this variable is null then
positivePrefix is taken as a literal value that does not change when
symbols changes. This variable is always null for
DecimalFormat objects older than stream version 2 restored from
stream.
java.lang.String posSuffixPattern
positiveSuffix. This variable is analogous to
posPrefixPattern; see that variable for further documentation.java.lang.String negPrefixPattern
negativePrefix. This variable is analogous to
posPrefixPattern; see that variable for further documentation.java.lang.String negSuffixPattern
negativeSuffix. This variable is analogous to
posPrefixPattern; see that variable for further documentation.java.text.ChoiceFormat currencyChoice
int multiplier
DecimalFormat.getMultiplier()byte groupingSize
NumberFormat.groupingUsed is true.byte groupingSize2
boolean decimalSeparatorAlwaysShown
DecimalFormatSymbols symbols
DecimalFormatSymbols object used by this format. It contains the
symbols used to format numbers, e.g. the grouping separator, decimal separator, and
so on.boolean useSignificantDigits
int minSignificantDigits
int maxSignificantDigits
boolean useExponentialNotation
Note that the JDK 1.2 public API provides no way to set this field, even though it is supported by the implementation and the stream format. The intent is that this will be added to the API in the future.
byte minExponentDigits
useExponentialNotation is not true.
Note that the JDK 1.2 public API provides no way to set this field, even though it is supported by the implementation and the stream format. The intent is that this will be added to the API in the future.
boolean exponentSignAlwaysShown
useExponentialNotation is true.java.math.BigDecimal roundingIncrement
null if rounding is not in effect, or a
positive value if rounding is in effect. Default value null.int roundingMode
BigDecimal rounding mode values. Default value
BigDecimal.ROUND_HALF_EVEN.MathContext mathContext
BigDecimal numbers are controlled by a MathContext object, which provides the context (precision and other information)
for the operation. The default MathContext settings are
digits=0, form=PLAIN, lostDigits=false, roundingMode=ROUND_HALF_UP;
these settings perform fixed point arithmetic with unlimited precision, as defined
for the original BigDecimal class in Java 1.1 and Java 1.2int formatWidth
char pad
formatWidth, if
padding is in effect. Default value ' '.int padPosition
pad character will be
inserted, if padding is in effect. Must have a value from
PAD_BEFORE_PREFIX to PAD_AFTER_SUFFIX. Default value
PAD_BEFORE_PREFIX.boolean parseBigDecimal
DecimalFormat.parse(String, ParsePosition) to return BigDecimal rather than
Long, Double or BigDecimal except special values. This property is introduced for
J2SE 5 compatibility support.DecimalFormat.setParseBigDecimal(boolean),
DecimalFormat.isParseBigDecimal()int serialVersionOnStream
useExponentialNotation and minExponentDigits.
java.util.ArrayList<E> attributes
java.lang.String formatPattern
int style
int currencySignCount
CurrencyPluralInfo currencyPluralInfo
private void readObject(java.io.ObjectInputStream stream)
throws java.io.IOException,
java.lang.ClassNotFoundException
serialVersionOnStream
is less than 1, initialize monetarySeparator to be
the same as decimalSeparator and exponential
to be 'E'.
Finally, sets serialVersionOnStream back to the maximum allowed value so that
default serialization will work properly if this object is streamed out again.java.io.IOExceptionjava.lang.ClassNotFoundExceptionjava.lang.String[] currencySpcBeforeSym
java.lang.String[] currencySpcAfterSym
char zeroDigit
DecimalFormatSymbols.getZeroDigit()char groupingSeparator
char decimalSeparator
char perMill
DecimalFormatSymbols.getPerMill()char percent
DecimalFormatSymbols.getPercent()char digit
DecimalFormatSymbols.getDigit()char sigDigit
char patternSeparator
java.lang.String infinity
DecimalFormatSymbols.getInfinity()java.lang.String NaN
DecimalFormatSymbols.getNaN()char minusSign
DecimalFormatSymbols.getMinusSign()java.lang.String currencySymbol
java.lang.String intlCurrencySymbol
char monetarySeparator
char monetaryGroupingSeparator
char exponential
Note that this field has been superseded by exponentSeparator.
It is retained for backward compatibility.
java.lang.String exponentSeparator
Note that this supersedes the exponential field.
char padEscape
char plusSign
java.util.Locale requestedLocale
ULocale ulocale
int serialVersionOnStream
DecimalFormatSymbols present on the stream.
Possible values are:
monetarySeparator and exponential.
DecimalFormatSymbols, the most recent format
(corresponding to the highest allowable serialVersionOnStream)
is always written.java.lang.String currencyPattern
ULocale validLocale
ULocaleULocale actualLocale
ULocaleprivate void readObject(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.InvalidObjectException - if the objects read from the stream is invalid.java.io.IOExceptionjava.lang.ClassNotFoundExceptionjava.util.Locale locale
ULocale ulocale
java.lang.String pattern
java.text.Format[] formats
int[] offsets
int[] argumentNumbers
java.lang.String[] argumentNames
boolean argumentNamesAreNumeric
int maxOffset
offsets. Can also be thought of
as the index of the highest-numbered element in offsets that is being used.
All of these arrays should have the same number of elements being used as offsets
does, and so this variable suffices to tell us how many entries are in all of them.private void readObject(java.io.ObjectInputStream stream)
throws java.io.IOException,
java.lang.ClassNotFoundException
serialVersionOnStream is less than 1, indicating that
the stream was written by JDK 1.1,
set the int fields such as maximumIntegerDigits
to be equal to the byte fields such as maxIntegerDigits,
since the int fields were not present in JDK 1.1.
Finally, set serialVersionOnStream back to the maximum allowed value so that
default serialization will work properly if this object is streamed out again.java.io.IOExceptionjava.lang.ClassNotFoundExceptionprivate void writeObject(java.io.ObjectOutputStream stream)
throws java.io.IOException
byte fields such as maxIntegerDigits to be
equal to the int fields such as maximumIntegerDigits
(or to Byte.MAX_VALUE, whichever is smaller), for compatibility
with the JDK 1.1 version of the stream format.java.io.IOExceptionboolean groupingUsed
NumberFormat.isGroupingUsed()byte maxIntegerDigits
maxIntegerDigits must be greater than or equal to
minIntegerDigits.
Note: This field exists only for serialization
compatibility with JDK 1.1. In JDK 1.2 and higher, the new
int field maximumIntegerDigits is used instead.
When writing to a stream, maxIntegerDigits is set to
maximumIntegerDigits or Byte.MAX_VALUE,
whichever is smaller. When reading from a stream, this field is used
only if serialVersionOnStream is less than 1.
byte minIntegerDigits
minimumIntegerDigits must be less than or equal to
maximumIntegerDigits.
Note: This field exists only for serialization
compatibility with JDK 1.1. In JDK 1.2 and higher, the new
int field minimumIntegerDigits is used instead.
When writing to a stream, minIntegerDigits is set to
minimumIntegerDigits or Byte.MAX_VALUE,
whichever is smaller. When reading from a stream, this field is used
only if serialVersionOnStream is less than 1.
byte maxFractionDigits
maximumFractionDigits must be greater than or equal to
minimumFractionDigits.
Note: This field exists only for serialization
compatibility with JDK 1.1. In JDK 1.2 and higher, the new
int field maximumFractionDigits is used instead.
When writing to a stream, maxFractionDigits is set to
maximumFractionDigits or Byte.MAX_VALUE,
whichever is smaller. When reading from a stream, this field is used
only if serialVersionOnStream is less than 1.
byte minFractionDigits
minimumFractionDigits must be less than or equal to
maximumFractionDigits.
Note: This field exists only for serialization
compatibility with JDK 1.1. In JDK 1.2 and higher, the new
int field minimumFractionDigits is used instead.
When writing to a stream, minFractionDigits is set to
minimumFractionDigits or Byte.MAX_VALUE,
whichever is smaller. When reading from a stream, this field is used
only if serialVersionOnStream is less than 1.
boolean parseIntegerOnly
NumberFormat.isParseIntegerOnly()int maximumIntegerDigits
maximumIntegerDigits must be greater than or equal to
minimumIntegerDigits.int minimumIntegerDigits
minimumIntegerDigits must be less than or equal to
maximumIntegerDigits.int maximumFractionDigits
maximumFractionDigits must be greater than or equal to
minimumFractionDigits.int minimumFractionDigits
minimumFractionDigits must be less than or equal to
maximumFractionDigits.Currency currency
int serialVersionOnStream
NumberFormat present on the stream.
Possible values are:
int fields such as
maximumIntegerDigits were not present, and the byte
fields such as maxIntegerDigits are used instead.
byte fields such as maxIntegerDigits are ignored,
and the int fields such as maximumIntegerDigits
are used instead.
NumberFormat, the most recent format
(corresponding to the highest allowable serialVersionOnStream)
is always written.boolean parseStrict
ULocale ulocale
PluralRules pluralRules
java.lang.String pattern
java.util.Map<K,V> parsedValues
NumberFormat numberFormat
private void readObject(java.io.ObjectInputStream in)
throws java.io.IOException
java.io.IOExceptionprivate void writeObject(java.io.ObjectOutputStream out)
throws java.io.IOException
java.io.IOExceptionULocale locale
boolean lenientParse
java.util.Map<K,V> ruleSetDisplayNames
java.lang.String[] publicRuleSetNames
boolean noParse
private void readObject(java.io.ObjectInputStream stream)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundExceptionprivate void writeObject(java.io.ObjectOutputStream stream)
throws java.io.IOException
java.io.IOExceptionint serialVersionOnStream
defaultCenturyStart on stream.
defaultCenturyStart.
serialVersionOnStream
is written.java.lang.String pattern
java.lang.String override
java.util.HashMap<K,V> numberFormatters
java.util.HashMap<K,V> overrideMap
DateFormatSymbols formatData
DateFormatSymbolsjava.util.Date defaultCenturyStart
defaultCenturyStart, which may be any date. May
not be null.int error
int line
java.lang.StringBuffer preContext
java.lang.StringBuffer postContext
NumberFormat format
ULocale locale
int style
DateTimeRule dateTimeRule
int startYear
int endYear
private void readObject(java.io.ObjectInputStream stream)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundExceptionprivate void writeObject(java.io.ObjectOutputStream stream)
throws java.io.IOException
java.io.IOExceptionlong time
boolean lenient
time from fields[].Calendar.setLenient(boolean)TimeZone zone
int firstDayOfWeek
Calendar.SUNDAY,
Calendar.MONDAY, etc. This is a locale-dependent value.int minimalDaysInFirstWeek
int weekendOnset
int weekendOnsetMillis
int weekendCease
int weekendCeaseMillis
ULocale validLocale
ULocaleULocale actualLocale
ULocalelong gregorianCutover
InitialTimeZoneRule initialRule
java.util.List<E> historicRules
AnnualTimeZoneRule[] finalRules
private void readObject(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundExceptionint raw
int dst
com.ibm.icu.util.STZInfo xinfo
int startMonth
int startDay
int startDayOfWeek
int startTime
int startTimeMode
int endTimeMode
int endMonth
int endDay
int endDayOfWeek
int endTime
int startYear
boolean useDaylight
int startMode
int endMode
java.lang.String ID
TimeZone. This is a
programmatic identifier used internally to look up TimeZone
objects from the system table and also to map them to their localized
display names. ID values are unique in the system
table but may not be for dynamically created zones.BasicTimeZone tz
java.util.List<E> vtzlines
java.lang.String olsonzid
java.lang.String tzurl
java.util.Date lastmod
Copyright (c) 2011 IBM Corporation and others.