DecimalFormat Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
DecimalFormat est une sous-classe concrète de NumberFormat ce qui met en forme les nombres décimaux.
[Android.Runtime.Register("java/text/DecimalFormat", DoNotGenerateAcw=true)]
public class DecimalFormat : Java.Text.NumberFormat
[<Android.Runtime.Register("java/text/DecimalFormat", DoNotGenerateAcw=true)>]
type DecimalFormat = class
inherit NumberFormat
- Héritage
- Attributs
Remarques
DecimalFormat est une sous-classe concrète de NumberFormat ce qui met en forme les nombres décimaux. Il dispose d’une variété de fonctionnalités conçues pour permettre d’analyser et de mettre en forme des nombres dans tous les paramètres régionaux, y compris la prise en charge des chiffres occidentaux, arabes et indics. Il prend également en charge différents types de nombres, y compris les entiers (123), les nombres à virgule fixe (123,4), la notation scientifique (1,23E4), les pourcentages (12%) et les montants monétaires (123 $). Tous ces éléments peuvent être localisés.
Pour obtenir un NumberFormat paramètre régional spécifique, y compris les paramètres régionaux par défaut, appelez l’une des NumberFormatméthodes de fabrique, telles que getInstance(). En général, n’appelez pas directement les DecimalFormat constructeurs, car les NumberFormat méthodes de fabrique peuvent retourner des sous-classes autres que DecimalFormat. Si vous devez personnaliser l’objet de format, procédez comme suit :
<blockquote>
NumberFormat f = NumberFormat.getInstance(loc);
if (f instanceof DecimalFormat) {
((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
}
</blockquote>
A DecimalFormat comprend un <modèle> em</em> et un ensemble de <symboles> em</em>. Le modèle peut être défini directement à l’aide, ou indirectement à l’aide applyPattern()des méthodes d’API. Les symboles sont stockés dans un DecimalFormatSymbols objet. Lorsque vous utilisez les NumberFormat méthodes de fabrique, le modèle et les symboles sont lus ResourceBundleà partir de s localisés.
<Modèles> h2</h2>
DecimalFormat les modèles ont la syntaxe suivante : <blockquote>
<i>Pattern:</i>
<i>PositivePattern</i>
<i>PositivePattern</i> ; <i>NegativePattern</i>
<i>PositivePattern:</i>
<i>Prefix<sub>opt</sub></i> <i>Number</i> <i>Suffix<sub>opt</sub></i>
<i>NegativePattern:</i>
<i>Prefix<sub>opt</sub></i> <i>Number</i> <i>Suffix<sub>opt</sub></i>
<i>Prefix:</i>
any Unicode characters except \uFFFE, \uFFFF, and special characters
<i>Suffix:</i>
any Unicode characters except \uFFFE, \uFFFF, and special characters
<i>Number:</i>
<i>Integer</i> <i>Exponent<sub>opt</sub></i>
<i>Integer</i> . <i>Fraction</i> <i>Exponent<sub>opt</sub></i>
<i>Integer:</i>
<i>MinimumInteger</i>
#
# <i>Integer</i>
# , <i>Integer</i>
<i>MinimumInteger:</i>
0
0 <i>MinimumInteger</i>
0 , <i>MinimumInteger</i>
<i>Fraction:</i>
<i>MinimumFraction<sub>opt</sub></i> <i>OptionalFraction<sub>opt</sub></i>
<i>MinimumFraction:</i>
0 <i>MinimumFraction<sub>opt</sub></i>
<i>OptionalFraction:</i>
# <i>OptionalFraction<sub>opt</sub></i>
<i>Exponent:</i>
E <i>MinimumExponent</i>
<i>MinimumExponent:</i>
0 <i>MinimumExponent<sub>opt</sub></i>
</blockquote>
Un DecimalFormat modèle contient un sous-modèle positif et négatif, par exemple "#,##0.00;(#,##0.00)". Chaque sous-modèle a un préfixe, une partie numérique et un suffixe. Le sous-modèle négatif est facultatif ; s’il est absent, le sous-modèle positif précédé du signe moins ('-' U+002D HYPHEN-MINUS) est utilisé comme sous-modèle négatif. C’est-à-dire, "0.00" seul équivaut à "0.00;-0.00". S’il existe un sous-modèle négatif explicite, il sert uniquement à spécifier le préfixe et le suffixe négatifs ; le nombre de chiffres, les chiffres minimaux et d’autres caractéristiques sont tous les mêmes que le modèle positif. Cela signifie que cela "#,##0.0#;(#)" produit exactement le même comportement que "#,##0.0#;(#,##0.0#)".
Les préfixes, suffixes et différents symboles utilisés pour l’infini, les chiffres, les séparateurs de regroupement, les séparateurs décimaux, etc. peuvent être définis sur des valeurs arbitraires, et ils apparaissent correctement pendant la mise en forme. Toutefois, vous devez veiller à ce que les symboles et les chaînes ne soient pas en conflit ou que l’analyse ne soit pas fiable. Par exemple, les préfixes positifs et négatifs ou les suffixes doivent être distincts pour DecimalFormat.parse() pouvoir distinguer les valeurs positives des valeurs négatives. (S’ils sont identiques, il DecimalFormat se comporte comme si aucun sous-modèle négatif n’a été spécifié.) Un autre exemple est que le séparateur décimal et le séparateur de regroupement doivent être des caractères distincts, ou l’analyse sera impossible.
Le séparateur de regroupement est couramment utilisé pour des milliers, mais dans certains pays, il sépare dix milliers. La taille de regroupement est un nombre constant de chiffres entre les caractères de regroupement, tels que 3 pour 100 000 000 ou 4 pour 1 000 000 000. Si vous fournissez un modèle avec plusieurs caractères de regroupement, l’intervalle entre le dernier et la fin de l’entier est celui utilisé. Donc"#,##,###,####" == "######,####" == "##,####,####".
<h3>"special_pattern_character">Caractères< spéciaux/h3>
De nombreux caractères dans un modèle sont pris littéralement ; ils sont mis en correspondance pendant l’analyse et la sortie inchangés pendant la mise en forme. Les caractères spéciaux, d’un autre côté, sont réservés à d’autres caractères, chaînes ou classes de caractères. Ils doivent être cités, sauf indication contraire, s’ils doivent apparaître dans le préfixe ou le suffixe en tant que littéraux.
Les caractères répertoriés ici sont utilisés dans des modèles non localisés. Les modèles localisés utilisent plutôt les caractères correspondants tirés de l’objet de DecimalFormatSymbols ce formateur, et ces caractères perdent leur statut spécial. Deux exceptions sont le signe monétaire et le devis, qui ne sont pas localisés.
<table blockquote><class="striped"><caption style="display :none">Chart montrant le symbole, l’emplacement, la localisation, la localisation et la signification.</caption><thead><tr><th scope="col » style="text-align :left"Symbol >th scope="<col » style="text-align :left">Location <th scope="col » style="text-align :left">Localized ?
<th scope="col » style="text-align :left">Meaning /thead<>tbody<>tr style="vertical-align :top"<>th scope="row"<>0td<Number td><>< Digit >tr style="vertical-align : top"<>th scope="row"<>#td Number<> td<Yes >td<Digit, zéro indique que >tr style="vertical-align :top"<>th scope="row"<>.td Number td<><>Oui <td>séparateur décimal ou séparateur <décimal monétaire tr style="vertical-align : top"th scope="row"><>-<td>Number <td>Yes <td>Minus sign <tr style="vertical-align :top"><th scope="row">,<td Number >td<>Yes<> Grouping séparateur ou séparateur <de regroupement monétaire tr style="vertical-align : top"><th scope="row"td>E<>Nombre <td>Oui <td>Sépare la mantisse et l’exposant en notation scientifique.
<em>Ne doit pas être entre guillemets dans le préfixe ou le suffixe.</em><tr style="vertical-align :top"><th scope="row">;<td Subpattern boundary >td<>Yes <td>Separates positive and negative subpatterns <tr style="vertical-align : top"><th scope="row">%<td Prefix or suffix >td<><> Multiplie by 100 and show as percentage <tr style="vertical-align :top"><th scope="row">\u2030<td>Prefix or suffix <td td>Oui <td>Multipliez par 1000 et affichez la valeur <mille tr style="vertical-align : top"th scope="><row »>¤ (\u00A4) <préfixe td>ou suffixe <td>No <td>Currency sign, remplacé par le symbole monétaire. Si elle a doublé, remplacée par le symbole monétaire international. S’il est présent dans un modèle, les séparateurs de décimales/regroupement monétaires sont utilisés au lieu des séparateurs décimaux/groupants.
<tr style="vertical-align :top"><th scope="row">'<td Prefix or suffix >td <><Td>Used to quote special characters in a prefix or suffix, par exemple, "'#'#" formats 123 to "#123". Pour créer un guillemet unique lui-même, utilisez deux dans une ligne : "# o''clock".
</tbody></table></blockquote>
<notation> scientifique h3</h3>
Les nombres en notation scientifique sont exprimés sous la forme d’une mantisse et d’une puissance de dix, par exemple, 1234 peuvent être exprimés sous la forme de 1,234 x 10^3. La mantissa est souvent dans la plage 1.0 &le ; x < 10.0, mais il n’a pas besoin d’être.
DecimalFormat peut être invité à mettre en forme et analyser la notation <scientifique em>uniquement par le biais d’un modèle</em> ; il n’existe actuellement aucune méthode de fabrique qui crée un format de notation scientifique. Dans un modèle, le caractère exposant immédiatement suivi d’un ou plusieurs caractères numériques indique la notation scientifique. Exemple : "0.###E0" met en forme le nombre 1234 en tant que "1.234E3".
<ul><li>Nombre de caractères numériques après le caractère exposant donne le nombre minimal de chiffres exposants. Il n’y a pas de maximum. Les exposants négatifs sont mis en forme à l’aide du signe moins localisé, <em>not</em> le préfixe et le suffixe du modèle. Cela permet des modèles tels que "0.###E0 m/s".
<li>Le nombre minimal et maximal de chiffres entiers est interprété ensemble :
<ul><li>Si le nombre maximal de chiffres entiers est supérieur à leur nombre minimal et supérieur à 1, il force l’exposant à être un multiple du nombre maximal de chiffres entiers, et le nombre minimal de chiffres entiers à interpréter comme 1. L’utilisation la plus courante est de générer <>la notation< d’ingénierie em,> dans laquelle l’exposant est un multiple de trois, par exemple"##0.#####E0". À l’aide de ce modèle, le nombre 12345 est mis en "12.345E3"forme et 123456 formats vers "123.456E3".
<dans>le cas contraire, le nombre minimal de chiffres entiers est atteint en ajustant l’exposant. Exemple : 0.00123 mis en forme avec "00.###E0" des rendements "12.3E-4".
</ul>
<li>Le nombre de chiffres significatifs dans la mantissa est la somme des<> nombres entiers</em minimaux em et >des<> chiffres de fraction/em maximum de fraction</em>, et n’est pas affecté par les chiffres entiers maximum. Par exemple, la mise en forme 12345 est "##0.##E0""12.3E3". Pour afficher tous les chiffres, définissez le nombre de chiffres significatifs sur zéro. Le nombre de chiffres significatifs n’affecte pas l’analyse.
<les modèles exponentiels li>peuvent ne pas contenir de séparateurs de regroupement. </ul>
<h3>Arrondi</h3>
DecimalFormat fournit des modes d’arrondi définis pour la mise en java.math.RoundingMode forme. Par défaut, il utilise java.math.RoundingMode#HALF_EVEN RoundingMode.HALF_EVEN.
<h3>Chiffres</h3>
Pour la mise en forme, DecimalFormat utilise les dix caractères consécutifs commençant par le chiffre zéro localisé défini dans l’objet DecimalFormatSymbols en tant que chiffres. Pour l’analyse, ces chiffres ainsi que tous les chiffres décimaux Unicode, tels que définis par Character#digit Character.digit, sont reconnus.
<Valeurs> spéciales h4</h4>
NaN est mis en forme sous forme de chaîne, qui a généralement un caractère \uFFFDunique. Cette chaîne est déterminée par l’objet DecimalFormatSymbols . Il s’agit de la seule valeur pour laquelle les préfixes et les suffixes ne sont pas utilisés.
L’infini est mis en forme sous forme de chaîne, qui a généralement un caractère \u221Eunique, avec les préfixes positifs ou négatifs et les suffixes appliqués. La chaîne d’infini est déterminée par l’objet DecimalFormatSymbols .
Zéro négatif ("-0") analyse <ul><li>BigDecimal(0) if isParseBigDecimal() is true, <li if > is false and Long(0) is true, liisParseBigDecimal()isParseIntegerOnly() if is true, <li>Double(-0.0) if both isParseBigDecimal() and isParseIntegerOnly() are false.
</ul>
<h3>"synchronisation">Synchronisation</h3>
Les formats décimaux ne sont généralement pas synchronisés. Il est recommandé de créer des instances de format distinctes pour chaque thread. Si plusieurs threads accèdent simultanément à un format, il doit être synchronisé en externe.
<exemple> h3</h3>
<blockquote>
<strong>{@code
// Print out a number using the localized number, integer, currency,
// and percent format for each locale}</strong>{@code
Locale[] locales = NumberFormat.getAvailableLocales();
double myNumber = -1234.56;
NumberFormat form;
for (int j = 0; j < 4; ++j) {
System.out.println("FORMAT");
for (int i = 0; i < locales.length; ++i) {
if (locales[i].getCountry().length() == 0) {
continue; // Skip language-only locales
}
System.out.print(locales[i].getDisplayName());
switch (j) {
case 0:
form = NumberFormat.getInstance(locales[i]); break;
case 1:
form = NumberFormat.getIntegerInstance(locales[i]); break;
case 2:
form = NumberFormat.getCurrencyInstance(locales[i]); break;
default:
form = NumberFormat.getPercentInstance(locales[i]); break;
}
if (form instanceof DecimalFormat) {
System.out.print(": " + ((DecimalFormat) form).toPattern());
}
System.out.print(" -> " + form.format(myNumber));
try {
System.out.println(" -> " + form.parse(form.format(myNumber)));
} catch (ParseException e) {}
}
}
}
</blockquote>
Ajouté dans la version 1.1.
Java documentation pour java.text.DecimalFormat.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Constructeurs
| Nom | Description |
|---|---|
| DecimalFormat() |
Crée une DecimalFormat à l’aide du modèle et des symboles par défaut pour les paramètres régionaux par défaut |
| DecimalFormat(IntPtr, JniHandleOwnership) |
Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime. |
| DecimalFormat(String, DecimalFormatSymbols) |
Crée un DecimalFormat à l’aide du modèle et des symboles donnés. |
| DecimalFormat(String) |
Crée une DecimalFormat à l’aide du modèle donné et des symboles pour les paramètres régionaux par défaut |
Champs
| Nom | Description |
|---|---|
| FractionField |
Constante de champ utilisée pour construire un objet FieldPosition. (Hérité de NumberFormat) |
| IntegerField |
Constante de champ utilisée pour construire un objet FieldPosition. (Hérité de NumberFormat) |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| Currency |
Obtient la devise utilisée par ce format de nombre lors de la mise en forme des valeurs monétaires. -ou- Définit la devise utilisée par ce format de nombre lors de la mise en forme des valeurs monétaires. (Hérité de NumberFormat) |
| DecimalFormatSymbols |
Retourne une copie des symboles de format décimal, qui n’est généralement pas modifiée par le programmeur ou l’utilisateur. -ou- Définit les symboles de format décimal, qui ne sont généralement pas modifiés par le programmeur ou l’utilisateur. |
| DecimalSeparatorAlwaysShown |
Vous permet d’obtenir le comportement du séparateur décimal avec des entiers. -ou- Vous permet de définir le comportement du séparateur décimal avec des entiers. |
| GroupingSize |
Retourne la taille de regroupement. -ou- Définissez la taille de regroupement. |
| GroupingUsed |
Retourne true si le regroupement est utilisé dans ce format. -ou- Définissez si le regroupement sera utilisé ou non dans ce format. (Hérité de NumberFormat) |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| MaximumFractionDigits |
Retourne le nombre maximal de chiffres autorisés dans la partie fraction d’un nombre. -ou- Définit le nombre maximal de chiffres autorisés dans la partie fraction d’un nombre. (Hérité de NumberFormat) |
| MaximumIntegerDigits |
Retourne le nombre maximal de chiffres autorisés dans la partie entière d’un nombre. -ou- Définit le nombre maximal de chiffres autorisés dans la partie entière d’un nombre. (Hérité de NumberFormat) |
| MinimumFractionDigits |
Retourne le nombre minimal de chiffres autorisés dans la partie fraction d’un nombre. -ou- Définit le nombre minimal de chiffres autorisés dans la partie fraction d’un nombre. (Hérité de NumberFormat) |
| MinimumIntegerDigits |
Retourne le nombre minimal de chiffres autorisés dans la partie entière d’un nombre. -ou- Définit le nombre minimal de chiffres autorisé dans la partie entière d’un nombre. (Hérité de NumberFormat) |
| Multiplier |
Obtient le multiplicateur à utiliser en pourcentage, par mille et formats similaires. -ou- Définit le multiplicateur à utiliser en pourcentage, par mille et formats similaires. |
| NegativePrefix |
Obtenez le préfixe négatif. -ou- Définissez le préfixe négatif. |
| NegativeSuffix |
Obtenez le suffixe négatif. -ou- Définissez le suffixe négatif. |
| ParseBigDecimal |
Retourne si la |
| ParseIntegerOnly |
Retourne true si ce format analyse les nombres sous forme d’entiers uniquement. -ou- Définit si les nombres doivent être analysés en tant qu’entiers uniquement. (Hérité de NumberFormat) |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| PositivePrefix |
Obtenez le préfixe positif. -ou- Définissez le préfixe positif. |
| PositiveSuffix |
Obtenez le suffixe positif. -ou- Définissez le suffixe positif. |
| RoundingMode |
Obtient l’élément |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. |
Méthodes
| Nom | Description |
|---|---|
| ApplyLocalizedPattern(String) |
Appliquez le modèle donné à cet objet Format. |
| ApplyPattern(String) |
Appliquez le modèle donné à cet objet Format. |
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de _Format) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| Format(Double, StringBuffer, FieldPosition) |
Met en forme un double pour produire une chaîne. |
| Format(Double) |
Spécialisation du format. (Hérité de NumberFormat) |
| Format(Int64, StringBuffer, FieldPosition) |
Mettez en forme un long pour produire une chaîne. |
| Format(Int64) |
Spécialisation du format. (Hérité de NumberFormat) |
| Format(Object, StringBuffer, FieldPosition) |
Met en forme un nombre et ajoute le texte résultant à la mémoire tampon de chaîne donnée. |
| Format(Object) |
Met en forme un objet pour produire une chaîne. (Hérité de _Format) |
| FormatToCharacterIterator(Object) |
Met en forme un objet produisant un |
| GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| Parse(String, ParsePosition) |
Analyse le texte d’une chaîne pour produire un |
| Parse(String) |
Analyse le texte à partir du début de la chaîne donnée pour produire un nombre. (Hérité de NumberFormat) |
| ParseObject(String, ParsePosition) |
Analyse le texte d’une chaîne pour produire un |
| ParseObject(String) |
Analyse le texte à partir du début de la chaîne donnée pour produire un objet. (Hérité de _Format) |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToLocalizedPattern() |
Synthétise une chaîne de modèle localisée qui représente l’état actuel de cet objet Format. |
| ToPattern() |
Synthétise une chaîne de modèle qui représente l’état actuel de cet objet Format. |
| ToString() |
Retourne une représentation sous forme de chaîne de l’objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |