|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.system.CustomNumberFormat
public class CustomNumberFormat
An object for formatting numbers in a user-defined format.
CustomNumberFormat is an ICustomNumberFormat interface coclass whose members determine how the ValueToString method in the associated INumberFormat interface formats numbers. Define your own customized format using the FormatString property.
The custom-number-format object and its default interface allow numeric values to be formatted as strings. It works by pattern matching and allows conversions, such as changing ValueToString(12345678.9) to “12,345,678.90 dollars”.
ILatLonFormat2
,
CustomNumberFormat
,
IRateFormat
,
IAngleFormat
,
NumericFormat
,
LatLonFormat
,
CurrencyFormat
,
INumericFormat
,
IFractionFormat
,
RateFormat
,
IScientificNumberFormat
,
ICustomNumberFormat
,
ILatLonFormat
,
IPercentageFormat
,
INumberFormat
,
ScientificFormat
,
FractionFormat
,
PercentageFormat
,
AngleFormat
,
Serialized FormConstructor Summary | |
---|---|
CustomNumberFormat()
Constructs a CustomNumberFormat using ArcGIS Engine. |
|
CustomNumberFormat(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. CustomNumberFormat theCustomNumberFormat = (CustomNumberFormat) obj; |
Method Summary | |
---|---|
void |
assign(IClone src)
Assigns the properties of src to the receiver. |
boolean |
equals(Object o)
Compare this object with another |
IClone |
esri_clone()
Clones the receiver and assigns the result to *clone. |
void |
getClassID(GUID[] pClassID)
getClassID |
static String |
getClsid()
getClsid. |
String |
getFormatString()
A user-defined format expression. |
void |
getSizeMax(_ULARGE_INTEGER[] pcbSize)
getSizeMax |
int |
hashCode()
the hashcode for this object |
double |
increment(double value)
Increments a value according to the numbers format. |
void |
isDirty()
isDirty |
boolean |
isEqual(IClone other)
Indicates if the receiver and other have the same properties. |
boolean |
isIdentical(IClone other)
Indicates if the receiver and other are the same object. |
void |
load(IStream pstm)
load |
void |
readExternal(ObjectInput in)
|
void |
save(IStream pstm,
int fClearDirty)
save |
void |
setFormatString(String str)
A user-defined format expression. |
double |
stringToValue(String str)
Converts a formatted string to a numeric value. |
String |
valueToString(double value)
Converts a numeric value to a formatted string. |
void |
writeExternal(ObjectOutput out)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef |
---|
getJintegraDispatch, release |
Constructor Detail |
---|
public CustomNumberFormat() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic CustomNumberFormat(Object obj) throws IOException
CustomNumberFormat theCustomNumberFormat = (CustomNumberFormat) obj;
obj
to CustomNumberFormat
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public String valueToString(double value) throws IOException, AutomationException
The ValueToString method expresses a numeric value as a formatted string. The string is formatted based on the property settings of the number formatting interface that is used. See the particular number formatting interface you're interested in under See Also above for more information.
valueToString
in interface INumberFormat
value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ILatLonFormat2
,
CustomNumberFormat
,
IRateFormat
,
IAngleFormat
,
NumericFormat
,
LatLonFormat
,
CurrencyFormat
,
INumericFormat
,
IFractionFormat
,
RateFormat
,
IScientificNumberFormat
,
ICustomNumberFormat
,
ILatLonFormat
,
IPercentageFormat
,
INumberFormat
,
ScientificFormat
,
FractionFormat
,
PercentageFormat
,
AngleFormat
public double stringToValue(String str) throws IOException, AutomationException
The StringToValue method obtains a numerical value from a formatted string. The string doesn't necessarily need to have been formatted with the ValueToString method, but the string needs to look like it would be if it was formatted with the associated interface's implementation of the ValueToString method. See the particular number formatting interface you're interested in under See Also above for more information.
When using the StringToValue method to obtain a ValueToString argument value, the properties in the associated interface must be set the same as they were when the ValueToString method was used. This applies in cases where ValueToString may perform a numerical conversion (in the IAngleFormat, IFractionFormat, IPercentageFormat, and IRateFormat interfaces).
stringToValue
in interface INumberFormat
str
- The str (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ILatLonFormat2
,
CustomNumberFormat
,
IRateFormat
,
IAngleFormat
,
NumericFormat
,
LatLonFormat
,
CurrencyFormat
,
INumericFormat
,
IFractionFormat
,
RateFormat
,
IScientificNumberFormat
,
ICustomNumberFormat
,
ILatLonFormat
,
IPercentageFormat
,
INumberFormat
,
ScientificFormat
,
FractionFormat
,
PercentageFormat
,
AngleFormat
public void setFormatString(String str) throws IOException, AutomationException
The following table identifies characters you can use to create user-defined number formats that you can pass as a format expression in the FormatString property:
Character | Description |
None | Display the number with no formatting. |
(0) | Digit placeholder. Display a digit or a zero. If the expression has a digit in the position where the 0 appears in the format string, display it; otherwise, display a zero in that position.
If the number has fewer digits than there are zeros (on either side of the decimal) in the format expression, display leading or trailing zeros. If the number has more digits to the right of the decimal separator than there are zeros to the right of the decimal separator in the format expression, round the number to as many decimal places as there are zeros. If the number has more digits to the left of the decimal separator than there are zeros to the left of the decimal separator in the format expression, display the extra digits without modification. |
(#) | Digit placeholder. Display a digit or nothing. If the expression has a digit in the position where the # appears in the format string, display it; otherwise, display nothing in that position.
This symbol works like the 0 digit placeholder, except that leading and trailing zeros aren't displayed if the number has the same or fewer digits than there are # characters on either side of the decimal separator in the format expression. |
(.) | Decimal placeholder. In some locales, a comma is used as the decimal separator. The decimal placeholder determines how many digits are displayed to the left and right of the decimal separator. If the format expression contains only number signs to the left of this symbol, numbers smaller than 1 begin with a decimal separator. To display a leading zero displayed with fractional numbers, use 0 as the first digit placeholder to the left of the decimal separator. The actual character used as a decimal placeholder in the formatted output depends on the Number Format recognized by your system. |
(,) | Thousand separator. In some locales, a period is used as a thousand separator. The thousand separator separates thousands from hundreds within a number that has four or more places to the left of the decimal separator. Standard use of the thousand separator is specified if the format contains a thousand separator surrounded by digit placeholders (0 or #). The actual character used as the thousand separator in the formatted output depends on the Number Format recognized by your system. |
("ABC") |
Literal string. You can place literal strings on either side of numeric placeholders. For example, you could define a format expression as "The formatted number is: ###,###.#0" |
The actual characters used as decimal placeholders and thousands separators in the formatted output depends on the Number Format recognized by the system at runtime. To change the way numbers are formatted, change the settings on the Numbers tab of Control Panel's Regional Settings applet.
To try out various formatting options using this interface, select CustomNumberFormat from the dropdown list in the NumberFormat Viewer developer sample.
setFormatString
in interface ICustomNumberFormat
str
- The str (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ILatLonFormat2
,
CustomNumberFormat
,
IRateFormat
,
IAngleFormat
,
NumericFormat
,
LatLonFormat
,
CurrencyFormat
,
INumericFormat
,
IFractionFormat
,
RateFormat
,
IScientificNumberFormat
,
ICustomNumberFormat
,
ILatLonFormat
,
IPercentageFormat
,
INumberFormat
,
ScientificFormat
,
FractionFormat
,
PercentageFormat
,
AngleFormat
public String getFormatString() throws IOException, AutomationException
The following table identifies characters you can use to create user-defined number formats that you can pass as a format expression in the FormatString property:
Character | Description |
None | Display the number with no formatting. |
(0) | Digit placeholder. Display a digit or a zero. If the expression has a digit in the position where the 0 appears in the format string, display it; otherwise, display a zero in that position.
If the number has fewer digits than there are zeros (on either side of the decimal) in the format expression, display leading or trailing zeros. If the number has more digits to the right of the decimal separator than there are zeros to the right of the decimal separator in the format expression, round the number to as many decimal places as there are zeros. If the number has more digits to the left of the decimal separator than there are zeros to the left of the decimal separator in the format expression, display the extra digits without modification. |
(#) | Digit placeholder. Display a digit or nothing. If the expression has a digit in the position where the # appears in the format string, display it; otherwise, display nothing in that position.
This symbol works like the 0 digit placeholder, except that leading and trailing zeros aren't displayed if the number has the same or fewer digits than there are # characters on either side of the decimal separator in the format expression. |
(.) | Decimal placeholder. In some locales, a comma is used as the decimal separator. The decimal placeholder determines how many digits are displayed to the left and right of the decimal separator. If the format expression contains only number signs to the left of this symbol, numbers smaller than 1 begin with a decimal separator. To display a leading zero displayed with fractional numbers, use 0 as the first digit placeholder to the left of the decimal separator. The actual character used as a decimal placeholder in the formatted output depends on the Number Format recognized by your system. |
(,) | Thousand separator. In some locales, a period is used as a thousand separator. The thousand separator separates thousands from hundreds within a number that has four or more places to the left of the decimal separator. Standard use of the thousand separator is specified if the format contains a thousand separator surrounded by digit placeholders (0 or #). The actual character used as the thousand separator in the formatted output depends on the Number Format recognized by your system. |
("ABC") |
Literal string. You can place literal strings on either side of numeric placeholders. For example, you could define a format expression as "The formatted number is: ###,###.#0" |
All of the above can be combined to produce complex results. For example, using ValueToString with a value of 12345678.9 and a FormatString of ‘$#,###,###.#0 bucks’, the output should be “$12,345,678.90 bucks”.
The NumberFormatDialog class provides a graphical user interface for the properties of the number format objects. This class is defined in the esriFramework assembly.
The actual characters used as decimal placeholders and thousands separators in the formatted output depends on the Number Format recognized by the system at runtime. To change the way numbers are formatted, change the settings on the Numbers tab of Control Panel's Regional Settings applet.
getFormatString
in interface ICustomNumberFormat
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ILatLonFormat2
,
CustomNumberFormat
,
IRateFormat
,
IAngleFormat
,
NumericFormat
,
LatLonFormat
,
CurrencyFormat
,
INumericFormat
,
IFractionFormat
,
RateFormat
,
IScientificNumberFormat
,
ICustomNumberFormat
,
ILatLonFormat
,
IPercentageFormat
,
INumberFormat
,
ScientificFormat
,
FractionFormat
,
PercentageFormat
,
AngleFormat
public double increment(double value) throws IOException, AutomationException
The Increment method reacts differently depending on the number format object used and how that object is configured. A NumericFormat configured for a specific number of decimal places will increment to the last decimal place. For example, if two decimal places are specified, 22.533 would increment to 22.54; if the object is configured for two significant digits, 22.533 would increment to 24. For an AngleFormat, the input value is converted to the display format first then the same rules apply as for a NumericFormat.
increment
in interface INumberFormatOperations
value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IClone esri_clone() throws IOException, AutomationException
esri_clone
in interface IClone
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void assign(IClone src) throws IOException, AutomationException
assign
in interface IClone
src
- A reference to a com.esri.arcgis.system.IClone (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isEqual(IClone other) throws IOException, AutomationException
IsEqual returns True if the receiver and the source have the same properties. Note, this does not imply that the receiver and the source reference the same object.
isEqual
in interface IClone
other
- A reference to a com.esri.arcgis.system.IClone (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isIdentical(IClone other) throws IOException, AutomationException
IsIdentical returns true if the receiver and the source reference the same object.
isIdentical
in interface IClone
other
- A reference to a com.esri.arcgis.system.IClone (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getClassID(GUID[] pClassID) throws IOException, AutomationException
IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.
getClassID
in interface IPersist
pClassID
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void isDirty() throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
isDirty
in interface IPersistStream
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void load(IStream pstm) throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
load
in interface IPersistStream
pstm
- A reference to a com.esri.arcgis.system.IStream (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void save(IStream pstm, int fClearDirty) throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
save
in interface IPersistStream
pstm
- A reference to a com.esri.arcgis.system.IStream (in)fClearDirty
- The fClearDirty (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getSizeMax(_ULARGE_INTEGER[] pcbSize) throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
getSizeMax
in interface IPersistStream
pcbSize
- A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |