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_
.
@Deprecated protected Object readResolve() throws InvalidObjectException
InvalidObjectException
- if the constant could not be resolved.String[] isLeapMonth
private void readObject(ObjectInputStream in) throws IOException
IOException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
Map<K,V> pluralCountToCurrencyUnitPattern
PluralRules pluralRules
ULocale ulocale
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
serialVersionOnStream
is less than 1, indicating that
the stream was written by a pre-ICU-53 version,
set capitalizationSetting to a default value.
Finally, set serialVersionOnStream back to the maximum allowed value so that
default serialization will work properly if this object is streamed out again.IOException
ClassNotFoundException
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
.EnumSet<E extends Enum<E>> booleanAttributes
DisplayContext capitalizationSetting
int serialVersionOnStream
DateFormat
present on the stream.
Possible values are:
DateFormat
, the most recent format
(corresponding to the highest allowable serialVersionOnStream
)
is always written.protected Object readResolve() throws InvalidObjectException
InvalidObjectException
- if the constant could not be resolved.int calendarField
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
String[] eras
Calendar.BC
and Calendar.AD
.String[] eraNames
Calendar.BC
and Calendar.AD
.String[] narrowEras
Calendar.BC
and Calendar.AD
.String[] months
Calendar.JANUARY
, Calendar.FEBRUARY
, etc.String[] shortMonths
Calendar.JANUARY
, Calendar.FEBRUARY
, etc.String[] narrowMonths
Calendar.JANUARY
, Calendar.FEBRUARY
, etc.String[] standaloneMonths
Calendar.JANUARY
, Calendar.FEBRUARY
, etc.String[] standaloneShortMonths
Calendar.JANUARY
, Calendar.FEBRUARY
, etc.String[] standaloneNarrowMonths
Calendar.JANUARY
, Calendar.FEBRUARY
, etc.String[] weekdays
Calendar.SUNDAY
,
Calendar.MONDAY
, etc.
The element weekdays[0]
is ignored.String[] shortWeekdays
Calendar.SUNDAY
,
Calendar.MONDAY
, etc.
The element shortWeekdays[0]
is ignored.String[] shorterWeekdays
Calendar.SUNDAY
,
Calendar.MONDAY
, etc.
The element shorterWeekdays[0]
is ignored.String[] narrowWeekdays
Calendar.SUNDAY
,
Calendar.MONDAY
, etc.
The element narrowWeekdays[0]
is ignored.String[] standaloneWeekdays
Calendar.SUNDAY
,
Calendar.MONDAY
, etc.
The element standaloneWeekdays[0]
is ignored.String[] standaloneShortWeekdays
Calendar.SUNDAY
,
Calendar.MONDAY
, etc.
The element standaloneShortWeekdays[0]
is ignored.String[] standaloneShorterWeekdays
Calendar.SUNDAY
,
Calendar.MONDAY
, etc.
The element standaloneShorterWeekdays[0]
is ignored.String[] standaloneNarrowWeekdays
Calendar.SUNDAY
,
Calendar.MONDAY
, etc.
The element standaloneNarrowWeekdays[0]
is ignored.String[] ampms
Calendar.AM
and
Calendar.PM
.String[] ampmsNarrow
Calendar.AM
and
Calendar.PM
.String timeSeparator
String[] shortQuarters
String[] quarters
String[] standaloneShortQuarters
String[] standaloneQuarters
String[] leapMonthPatterns
String[] shortYearNames
String[] shortZodiacNames
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 zoneTimeZone
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.Map<K,V> capitalization
ULocale requestedLocale
ULocale validLocale
ULocale
ULocale actualLocale
ULocale
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
DateIntervalInfo fInfo
SimpleDateFormat fDateFormat
Calendar fFromCalendar
Calendar fToCalendar
String fSkeleton
boolean isDateIntervalInfoDefault
String fDatePattern
String fTimePattern
String fDateTimeFormat
private void readObject(ObjectInputStream stream) throws IOException, 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.IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream stream) throws IOException
IOException
boolean parseRequireDecimalPoint
int PARSE_MAX_EXPONENT
String positivePrefix
DecimalFormat.getPositivePrefix()
String positiveSuffix
DecimalFormat.getPositiveSuffix()
String negativePrefix
DecimalFormat.getNegativePrefix()
String negativeSuffix
DecimalFormat.getNegativeSuffix()
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.
String posSuffixPattern
positiveSuffix
. This variable is analogous to
posPrefixPattern
; see that variable for further documentation.String negPrefixPattern
negativePrefix
. This variable is analogous to
posPrefixPattern
; see that variable for further documentation.String negSuffixPattern
negativeSuffix
. This variable is analogous to
posPrefixPattern
; see that variable for further documentation.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.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()
Currency.CurrencyUsage currencyUsage
int serialVersionOnStream
useExponentialNotation
and minExponentDigits
.
ArrayList<E> attributes
String formatPattern
int style
int currencySignCount
CurrencyPluralInfo currencyPluralInfo
private void readObject(ObjectInputStream stream) throws IOException, 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.IOException
ClassNotFoundException
String[] currencySpcBeforeSym
String[] currencySpcAfterSym
char zeroDigit
DecimalFormatSymbols.getZeroDigit()
char[] digits
char groupingSeparator
char decimalSeparator
char perMill
DecimalFormatSymbols.getPerMill()
char percent
DecimalFormatSymbols.getPercent()
char digit
DecimalFormatSymbols.getDigit()
char sigDigit
char patternSeparator
String infinity
DecimalFormatSymbols.getInfinity()
String NaN
DecimalFormatSymbols.getNaN()
char minusSign
DecimalFormatSymbols.getMinusSign()
String currencySymbol
String intlCurrencySymbol
char monetarySeparator
char monetaryGroupingSeparator
char exponential
Note that this field has been superseded by exponentSeparator
.
It is retained for backward compatibility.
String exponentSeparator
Note that this supersedes the exponential
field.
char padEscape
char plusSign
Locale requestedLocale
ULocale ulocale
String minusString
String plusString
String exponentMultiplicationSign
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.String currencyPattern
ULocale validLocale
ULocale
ULocale actualLocale
ULocale
private Object writeReplace() throws ObjectStreamException
ObjectStreamException
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
InvalidObjectException
- if the objects read from the stream is invalid.IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
protected Object readResolve() throws InvalidObjectException
InvalidObjectException
- if the constant could not be resolved.private void readObject(ObjectInputStream stream) throws IOException, 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.IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream stream) throws 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.IOException
boolean 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
DisplayContext capitalizationSetting
protected Object readResolve() throws InvalidObjectException
InvalidObjectException
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
ULocale ulocale
PluralRules pluralRules
String pattern
Map<K,V> parsedValues
String
(plural case keyword) --> String
(message for this plural case).NumberFormat numberFormat
NumberFormat
is used for the standard formatting of
the number inserted into the message.private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
private Object writeReplace() throws ObjectStreamException
ObjectStreamException
com.ibm.icu.text.PluralRules.RuleList rules
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
double source
int visibleDecimalDigitCount
int visibleDecimalDigitCountWithoutTrailingZeros
long decimalDigits
long decimalDigitsWithoutTrailingZeros
long integerValue
boolean hasIntegerValue
boolean isNegative
int baseFactor
private void readObject(ObjectInputStream in) throws IOException
IOException
private void writeObject(ObjectOutputStream out) throws IOException
IOException
ULocale locale
int roundingMode
boolean lenientParse
Map<K,V> ruleSetDisplayNames
String[] publicRuleSetNames
boolean capitalizationInfoIsSet
boolean capitalizationForListOrMenu
boolean capitalizationForStandAlone
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
String pattern
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream stream) throws IOException
IOException
int serialVersionOnStream
defaultCenturyStart
on stream.
defaultCenturyStart
.
capitalizationSetting
.
serialVersionOnStream
is written.String pattern
String override
HashMap<K,V> numberFormatters
HashMap<K,V> overrideMap
DateFormatSymbols formatData
DateFormatSymbols
Date defaultCenturyStart
defaultCenturyStart
, which may be any date. May
not be null.TimeZoneFormat tzFormat
int error
int line
StringBuffer preContext
StringBuffer postContext
private Object readResolve() throws ObjectStreamException
ObjectStreamException
private Object writeReplace() throws ObjectStreamException
ObjectStreamException
NumberFormat format
ULocale locale
int style
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException
ClassNotFoundException
IOException
private void writeObject(ObjectOutputStream oos) throws IOException
IOException
String[] _gmtOffsetDigits
Stirng[] _gmtOffsetPatterns
String _gmtPattern
String _gmtZeroFormat
ULocale _locale
boolean _parseAllStyles
true
if this TimeZoneFormat object is configure
for parsing all available names.TimeZoneNames _tznames
DateTimeRule dateTimeRule
int startYear
int endYear
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
private void writeObject(ObjectOutputStream stream) throws IOException
IOException
long 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
int repeatedWallTime
int skippedWallTime
ULocale validLocale
ULocale
ULocale actualLocale
ULocale
private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
int epochYear
TimeZone zoneAstro
private Object readResolve() throws ObjectStreamException
ObjectStreamException
private Object writeReplace() throws ObjectStreamException
ObjectStreamException
String isoCode
long gregorianCutover
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
boolean civil
true
if this object uses the fixed-cycle Islamic civil calendar,
and false
if it approximates the true religious calendar using
astronomical calculations for the time of the new moon.IslamicCalendar.CalculationType cType
private Object writeReplace() throws ObjectStreamException
ObjectStreamException
InitialTimeZoneRule initialRule
List<E> historicRules
AnnualTimeZoneRule[] finalRules
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
IOException
ClassNotFoundException
int 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
private Object readResolve() throws ObjectStreamException
ObjectStreamException
private Object writeReplace() throws ObjectStreamException
ObjectStreamException
int index
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.String name
int rawOffset
int dstSavings
String localeID
Copyright (c) 2015 IBM Corporation and others.