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 進数、または国がオーバーライドされます。
を使用 NumberFormat
して数値を解析することもできます: <blockquote>
{@code
myNumber = nf.parse(myString);
}
</blockquote> 通常の数値形式を取得するには、 または getNumberInstance
を使用getInstance
します。 整数の形式を取得するには、 を使用 getIntegerInstance
します。 通貨番号の形式を取得するには、 を使用 getCurrencyInstance
します。 短い形式で数値を書式設定するコンパクトな数値形式を取得するには、 を使用 getCompactNumberInstance
します。 たとえば、 2000
は のようにjava.util.Locale#US US locale
書式設定"2K"
できます。 パーセンテージを表示する形式を取得するには、 を使用 getPercentInstance
します。 この形式では、0.53 のような分数が 53% と表示されます。
などのメソッドを使用して、数値の表示を setMinimumFractionDigits
制御することもできます。 書式または解析をさらに制御する場合、またはユーザーにより多くの制御をユーザーに与えたい場合は、ファクトリ メソッドから 取得した を にDecimalFormat
CompactNumberFormat
キャストするか、使用するファクトリ メソッドに応じてキャストNumberFormat
してみてください。 これはロケールの大部分で機能します。あなたが珍しいものに遭遇した場合に備えて、 try
それをブロックに入れることを忘れないでください。
NumberFormat と DecimalFormat は、一部のコントロールが書式設定に使用され、他のコントロールが解析に機能するように設計されています。 これらの各制御メソッドの詳細な説明を次に示します。
setParseIntegerOnly : 解析にのみ影響します。たとえば、true の場合は "3456.78" →3456 (およびインデックス 6 の直後に解析位置を残します) false の場合、"3456.78" →3456.78 (およびインデックス 8 の直後に解析位置を残します) これは、書式設定とは無関係です。 小数点の後に桁数がない可能性がある小数点を表示しない場合は、setDecimalSeparatorAlwaysShown を使用します。
setDecimalSeparatorAlwaysShown : 書式設定にのみ影響し、小数点の後に数字がない可能性がある場所 (たとえば、"#,##0.##" のようなパターンを使用する場合など) にのみ影響します (true の場合は 3456.00 &rarr)。"3,456." false の場合、3456.00 →"3456" これは解析とは無関係です。 解析を小数点で停止する場合は、setParseIntegerOnly を使用します。
と を使用して <メソッドと format
メソッドFieldPosition
ParsePosition
のparse
形式を使用することもできます。ul><li> は、小数点と他の領域 </ul> を揃えて文字列 <li> の一部を段階的に解析します。たとえば、2 つの方法<で数値を揃えることができます。ol<>li> 配置の間隔を持つ単一スペースフォントを使用している場合は、書式呼び出しで をFieldPosition
渡すことができます。 を使用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
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
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) |
可能な場合は長整数型 (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) |
|