NumberFormat クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
NumberFormat
は、すべての数値形式の抽象基本クラスです。
[Android.Runtime.Register("java/text/NumberFormat", DoNotGenerateAcw=true)]
public abstract class NumberFormat : Java.Text._Format
[<Android.Runtime.Register("java/text/NumberFormat", DoNotGenerateAcw=true)>]
type NumberFormat = class
inherit _Format
- 継承
- 派生
- 属性
注釈
NumberFormat
は、すべての数値形式の抽象基本クラスです。 このクラスは、数値を書式設定および解析するためのインターフェイスを提供します。 NumberFormat
には、数値形式を持つロケールとその名前を決定するためのメソッドも用意されています。
NumberFormat
は、任意のロケールの数値の書式設定と解析に役立ちます。 コードは、小数点、桁区切り記号、または使用される特定の 10 進数のロケール規則、または数値形式が 10 進数であるかどうかに完全に依存しません。
現在のロケールの数値を書式設定するには、ファクトリ クラスメソッド <の 1 つ(blockquote)を使用します。>
{@code
myString = NumberFormat.getInstance().format(myNumber);
}
</blockquote> 複数の数値を書式設定する場合は、書式を取得して複数回使用する方が効率的であるため、システムはローカル言語と国の規則に関する情報を複数回フェッチする必要はありません。 <blockquote>
{@code
NumberFormat nf = NumberFormat.getInstance();
for (int i = 0; i < myNumber.length; ++i) {
output.println(nf.format(myNumber[i]) + "; ");
}
}
</blockquote> 別のロケールの数値を書式設定するには、次の呼び出しで指定します getInstance
。 <blockquote>
{@code
NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
}
</blockquote>
ロケールに "nu" (数値) Unicode 拡張が含まれている場合は、書式設定に使用される 10 進数または国がオーバーライドされます。
a を使用 NumberFormat
して数値を解析することもできます。 <ブロッククォート>
{@code
myNumber = nf.parse(myString);
}
</blockquote> 通常の数値形式を取得する場合getNumberInstance
に使用getInstance
します。 整数の書式を取得するために使用 getIntegerInstance
します。 通貨番号の形式を取得するために使用 getCurrencyInstance
します。 数値を短い形式で書式設定するコンパクトな数値書式を取得するために使用 getCompactNumberInstance
します。 たとえば、2000
次のように"2K"
java.util.Locale#US US locale
書式設定できます。 パーセンテージを表示するための形式を取得するために使用 getPercentInstance
します。 この形式では、0.53 のような分数が 53% として表示されます。
次のようなメソッドを使用して数値の表示を setMinimumFractionDigits
制御することもできます。 フォーマットや解析をさらに制御したい場合や、ユーザーにより多くの制御をユーザーに与えたい場合は、ファクトリ メソッドから使用するファクトリ メソッドにDecimalFormat
キャストするか、使用CompactNumberFormat
するファクトリ メソッドに応じてキャストNumberFormat
してみてください。 これはロケールの大部分で機能します。あなたが珍しいものに遭遇した場合に備えて、 try
それをブロックに入れることを忘れないでください。
NumberFormat と DecimalFormat は、一部のコントロールが書式設定で機能し、他のコントロールが解析に使用できるように設計されています。 これらの各制御メソッドの詳細な説明を次に示します。
setParseIntegerOnly : 解析にのみ影響します (true の場合は "3456.78" →false の場合は 3456 (およびインデックス 6 の直後に解析位置を残します)、"3456.78" >3456.78 (インデックス 8 の直後に解析位置を残します) これは書式設定とは無関係です。 小数点の後に数字がない可能性がある小数点を表示しない場合は、setDecimalSeparatorAlwaysShown を使用します。
setDecimalSeparatorAlwaysShown : 書式設定にのみ影響し、"#,##0.##" のようなパターン (true の場合は 3456.00 &rarr など) など、小数点の後に数字がない場合にのみ影響します。"3,456." false の場合は 3456.00 >"3456" これは解析とは無関係です。 小数点で解析を停止する場合は、setParseIntegerOnly を使用します。
また、文字列 li> のFieldPosition
<<parse
ParsePosition
>format
一部><を段階的に解析し、/ul> の 2 つの方法><<で数値を揃えることができます。たとえば、ol li> を配置するスペースを持つモノスペース フォントを使用している場合は、書式呼び出し<で渡FieldPosition
すことができます。 with field
= INTEGER_FIELD
. 出力時に、 getEndIndex
整数の最後の文字と 10 進数の間のオフセットに設定されます。 文字列の先頭に (desiredSpaceCount - getEndIndex) スペースを追加します。
<li> プロポーショナル フォントを使用している場合は、スペースで埋め込む代わりに、文字列の幅をピクセル単位で測定します getEndIndex
。 次に、テキストを描画する前に、ペンを (desiredPixelWidth - widthToAlignmentPoint) で移動します。 また、10 進数が存在しないが、末尾に追加の文字がある場合にも機能します。たとえば、-12 の場合は "(12)" という負の数のかっこを使用します。 </ol>
<h2>"synchronization">Synchronization</h2>
通常、数値形式は同期されません。 スレッドごとに個別のフォーマット インスタンスを作成することをお勧めします。 複数のスレッドが同時に形式にアクセスする場合は、外部で同期する必要があります。
1.1 で追加されました。
の Java ドキュメントjava.text.NumberFormat
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
NumberFormat() |
唯一のコンストラクター。 |
NumberFormat(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
フィールド
FractionField |
FieldPosition オブジェクトの構築に使用される Field 定数。 |
IntegerField |
FieldPosition オブジェクトの構築に使用される Field 定数。 |
プロパティ
Class |
この |
Currency |
通貨値を書式設定するときに、この数値形式で使用される通貨を取得します。 または、通貨値を書式設定するときに、この数値書式で使用される通貨を設定します。 |
CurrencyInstance |
現在の既定 |
GroupingUsed |
グループ化がこの形式で使用されている場合は true を返します。 または、グループ化をこの形式で使用するかどうかを設定します。 |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
Instance |
現在の既定 |
IntegerInstance |
現在の既定 |
JniIdentityHashCode |
|
JniPeerMembers |
|
MaximumFractionDigits |
数値の分数部分で許容される最大桁数を返します。 または、数値の分数部分で許容される最大桁数を設定します。 |
MaximumIntegerDigits |
数値の整数部分で許容される最大桁数を返します。 または、数値の整数部分で許容される最大桁数を設定します。 |
MinimumFractionDigits |
数値の分数部分で許容される最小桁数を返します。 または、数値の分数部分で許容される最小桁数を設定します。 |
MinimumIntegerDigits |
数値の整数部分で許容される最小桁数を返します。 または、数値の整数部分で許容される最小桁数を設定します。 |
NumberInstance |
現在の既定 |
ParseIntegerOnly |
この形式で数値を整数としてのみ解析する場合は true を返します。 または、数値を整数としてのみ解析するかどうかを設定します。 |
PeerReference |
|
PercentInstance |
現在の既定 |
RoundingMode |
この NumberFormat で使用される |
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 _Format) |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
Format(Double) |
形式の特殊化。 |
Format(Double, StringBuffer, FieldPosition) |
形式の特殊化。 |
Format(Int64) |
形式の特殊化。 |
Format(Int64, StringBuffer, FieldPosition) |
形式の特殊化。 |
Format(Object) |
文字列を生成するオブジェクトを書式設定します。 (継承元 _Format) |
Format(Object, StringBuffer, FieldPosition) |
数値を書式設定し、結果のテキストを指定された文字列バッファーに追加します。 |
FormatToCharacterIterator(Object) |
を生成するオブジェクトの書式を設定 |
GetAvailableLocales() |
現在の既定のロケールの指数形式を返します。 |
GetCurrencyInstance(Locale) |
指定したロケールの通貨形式を返します。 |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
GetInstance(Locale) |
指定したロケールの汎用の数値形式を返します。 |
GetIntegerInstance(Locale) |
指定したロケールの整数形式を返します。 |
GetNumberInstance(Locale) |
指定したロケールの汎用の数値形式を返します。 |
GetPercentInstance(Locale) |
指定したロケールのパーセンテージ形式を返します。 |
JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
Parse(String) |
指定された文字列の先頭からテキストを解析して、数値を生成します。 |
Parse(String, ParsePosition) |
可能な場合は Long を返します (e. |
ParseObject(String) |
指定された文字列の先頭からテキストを解析して、オブジェクトを生成します。 (継承元 _Format) |
ParseObject(String, ParsePosition) |
文字列からテキストを解析し、 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
ToArray<T>() |
|
ToString() |
オブジェクトの文字列表現を返します。 (継承元 Object) |
UnregisterFromRuntime() |
|
Wait() |
現在のスレッドが目覚めるまで待機させます。通常<は、通知<>/em> または <em>割り込み/em> を受け<取ります。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが目覚めるまで待機します。通常<><は、通知/em> または <em>中断</em> によって、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|