public class MeasureFormat extends UFormat
To format a Measure object, first create a formatter object using a MeasureFormat factory method. Then use that object's format or formatMeasures methods. Here is sample code:
MeasureFormat fmtFr = MeasureFormat.getInstance( ULocale.FRENCH, FormatWidth.SHORT); Measure measure = new Measure(23, MeasureUnit.CELSIUS); // Output: 23 °C System.out.println(fmtFr.format(measure)); Measure measureF = new Measure(70, MeasureUnit.FAHRENHEIT); // Output: 70 °F System.out.println(fmtFr.format(measureF)); MeasureFormat fmtFrFull = MeasureFormat.getInstance( ULocale.FRENCH, FormatWidth.WIDE); // Output: 70 pieds et 5,3 pouces System.out.println(fmtFrFull.formatMeasures( new Measure(70, MeasureUnit.FOOT), new Measure(5.3, MeasureUnit.INCH))); // Output: 1 pied et 1 pouce System.out.println(fmtFrFull.formatMeasures( new Measure(1, MeasureUnit.FOOT), new Measure(1, MeasureUnit.INCH))); MeasureFormat fmtFrNarrow = MeasureFormat.getInstance( ULocale.FRENCH, FormatWidth.NARROW); // Output: 1′ 1″ System.out.println(fmtFrNarrow.formatMeasures( new Measure(1, MeasureUnit.FOOT), new Measure(1, MeasureUnit.INCH))); MeasureFormat fmtEn = MeasureFormat.getInstance(ULocale.ENGLISH, FormatWidth.WIDE); // Output: 1 inch, 2 feet fmtEn.formatMeasures( new Measure(1, MeasureUnit.INCH), new Measure(2, MeasureUnit.FOOT));
This class does not do conversions from one unit to another. It simply formats whatever units it is given
This class is immutable and thread-safe so long as its deprecated subclass, TimeUnitFormat, is never used. TimeUnitFormat is not thread-safe, and is mutable. Although this class has existing subclasses, this class does not support new sub-classes.
UFormat
,
Serialized FormModifier and Type | Class and Description |
---|---|
static class |
MeasureFormat.FormatWidth
Formatting width enum.
|
Format.Field
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object other)
Two MeasureFormats, a and b, are equal if and only if they have the same formatWidth,
locale, and equal number formats.
|
StringBuffer |
format(Object obj,
StringBuffer toAppendTo,
FieldPosition pos)
Able to format Collection<?
|
String |
formatMeasureRange(Measure lowValue,
Measure highValue)
Deprecated.
This API is ICU internal only.
|
String |
formatMeasures(Measure... measures)
Format a sequence of measures.
|
StringBuilder |
formatMeasures(StringBuilder appendTo,
FieldPosition fieldPosition,
Measure... measures)
Formats a sequence of measures.
|
StringBuilder |
formatMeasuresPer(StringBuilder appendTo,
FieldPosition fieldPosition,
MeasureUnit perUnit,
Measure... measures)
Deprecated.
This API is ICU internal only.
|
static MeasureFormat |
getCurrencyFormat()
Return a formatter for CurrencyAmount objects in the default
FORMAT locale. |
static MeasureFormat |
getCurrencyFormat(Locale locale)
Return a formatter for CurrencyAmount objects in the given
JDK locale.
|
static MeasureFormat |
getCurrencyFormat(ULocale locale)
Return a formatter for CurrencyAmount objects in the given
locale.
|
static MeasureFormat |
getInstance(Locale locale,
MeasureFormat.FormatWidth formatWidth)
Create a format from the JDK locale, formatWidth, and format.
|
static MeasureFormat |
getInstance(Locale locale,
MeasureFormat.FormatWidth formatWidth,
NumberFormat format)
Create a format from the JDK locale, formatWidth, and format.
|
static MeasureFormat |
getInstance(ULocale locale,
MeasureFormat.FormatWidth formatWidth)
Create a format from the locale, formatWidth, and format.
|
static MeasureFormat |
getInstance(ULocale locale,
MeasureFormat.FormatWidth formatWidth,
NumberFormat format)
Create a format from the locale, formatWidth, and format.
|
ULocale |
getLocale()
Get the locale of this instance.
|
NumberFormat |
getNumberFormat()
Get a copy of the number format.
|
static com.ibm.icu.impl.SimplePatternFormatter |
getRangeFormat(ULocale forLocale,
MeasureFormat.FormatWidth width)
Deprecated.
This API is ICU internal only.
|
static String |
getRangePattern(ULocale forLocale,
MeasureFormat.FormatWidth width)
Deprecated.
This API is ICU internal only.
|
MeasureFormat.FormatWidth |
getWidth()
Get the format width this instance is using.
|
int |
hashCode() |
Measure |
parseObject(String source,
ParsePosition pos)
Parses text from a string to produce a
Measure . |
clone, format, formatToCharacterIterator, parseObject
public static MeasureFormat getInstance(ULocale locale, MeasureFormat.FormatWidth formatWidth)
locale
- the locale.formatWidth
- hints how long formatted strings should be.public static MeasureFormat getInstance(Locale locale, MeasureFormat.FormatWidth formatWidth)
locale
- the JDK locale.formatWidth
- hints how long formatted strings should be.public static MeasureFormat getInstance(ULocale locale, MeasureFormat.FormatWidth formatWidth, NumberFormat format)
locale
- the locale.formatWidth
- hints how long formatted strings should be.format
- This is defensively copied.public static MeasureFormat getInstance(Locale locale, MeasureFormat.FormatWidth formatWidth, NumberFormat format)
locale
- the JDK locale.formatWidth
- hints how long formatted strings should be.format
- This is defensively copied.public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
formatMeasures
method is preferred over calling
this method as they give better performance.format
in class Format
obj
- must be a Collection extends Measure>, Measure[], or Measure object.toAppendTo
- Formatted string appended here.pos
- Identifies a field in the formatted text.Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)
public Measure parseObject(String source, ParsePosition pos)
Measure
.parseObject
in class Format
UnsupportedOperationException
- Not supported.Format.parseObject(java.lang.String, java.text.ParsePosition)
public final String formatMeasures(Measure... measures)
measures
- a sequence of one or more measures.@Deprecated public final String formatMeasureRange(Measure lowValue, Measure highValue)
lowValue
- low value in rangehighValue
- high value in range@Deprecated public StringBuilder formatMeasuresPer(StringBuilder appendTo, FieldPosition fieldPosition, MeasureUnit perUnit, Measure... measures)
appendTo
- the formatted string appended here.fieldPosition
- Identifies a field in the formatted text.perUnit
- for the example above would be MeasureUnit.HOUR.measures
- the measures to format.public StringBuilder formatMeasures(StringBuilder appendTo, FieldPosition fieldPosition, Measure... measures)
appendTo
- the formatted string appended here.fieldPosition
- Identifies a field in the formatted text.measures
- the measures to format.formatMeasures(Measure...)
public final boolean equals(Object other)
public MeasureFormat.FormatWidth getWidth()
public final ULocale getLocale()
public NumberFormat getNumberFormat()
public static MeasureFormat getCurrencyFormat(ULocale locale)
locale
- desired localepublic static MeasureFormat getCurrencyFormat(Locale locale)
locale
- desired JDK localepublic static MeasureFormat getCurrencyFormat()
FORMAT
locale.ULocale.Category.FORMAT
@Deprecated public static com.ibm.icu.impl.SimplePatternFormatter getRangeFormat(ULocale forLocale, MeasureFormat.FormatWidth width)
forLocale
- locale to get the format forwidth
- the format width@Deprecated public static String getRangePattern(ULocale forLocale, MeasureFormat.FormatWidth width)
forLocale
- locale to get the range pattern forwidth
- the format width.Copyright (c) 2014 IBM Corporation and others.