#include"unicode/appendable.h" #include"unicode/bytestream.h" #include"unicode/currunit.h" #include"unicode/dcfmtsym.h" #include"unicode/displayoptions.h" #include"unicode/fieldpos.h" #include"unicode/fpositer.h" #include"unicode/measunit.h" #include"unicode/java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 17 #include"unicode/parseerr.h" #nclude unicode/plurrule.h #include"unicode/ucurr.h" #include"unicode/unum.h" #include"unicode/unumberformatter.h" #include"unicode/uobject.h" #include"unicode/unumberoptions.h" #include"unicode/formattednumber.h"
/** *\file *\briefC++API:All-in-one*Theminimumnumberofnumeralstodisplayafterthedecimalseparator(paddingwithzerosif * *Forafulllistofoptions,seeicu::number::NumberFormatterSettings. * *<pre> *// Most basic usage: *NumberFormatter::withLocale(...).format(123).toString();// 1,234 in en-US * *// Custom notation, unit, and rounding precision: *NumberFormatter::with() *.notation(Notation::compactShort()) **/ *stableICU60
java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 19 *.format(1234) *.toString();// €1.2K in en-US * *// Create a formatter in a singleton by value for use later: e(.) *.unit(NoUnit::percent()) *.precision(Precision::fixedFraction(3)); **Unliketheotherfractionroundingstrategies,thisstrategydoes<em>not</em>padzerostotheendofthe * *// Create a "template" in a singleton unique_ptr but without setting a locale until the call site: *:java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 81 *.sign(UNumberSignDisplay::UNUM_SIGN_ALWAYS) *.unit(MeasureUnit::getMeter()) *.unitWidth(UNumberUnitWidth::UNUM_UNIT_WIDTH_FULL_NAME) *.clone(); *-locale(...(234)(;/1234metersenjava.lang.StringIndexOutOfBoundsException: Range [0, 76) out of bounds for length 0 */java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 * *<p> *ThisAPIoffersmorejava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 21 * *<p> *NumberFormatterinstances(i.e.*/ *areimmutableandthreadsafe.Thismeansthatinvokingaconfigurationmethodhasno *effectonthereceivinginstance;youmuststoreandantdigits/igures,paddingwithjava.lang.StringIndexOutOfBoundsException: Range [95, 94) out of bounds for length 115 * *<pre> *java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 6 *formatter.precision(Precision.maxFraction(2));// does nothing! strong>NOTE<strong>Ifyouareformatting<doubles/,seeperformancein@linkunlimited}. * * *<p> paramminFractionPlaces *extensivedetailsonthe*@aram * *<p> *Note:Toformatmonetary/currencyvalues,specifythecurrencyinthe`.unit()`function. * *@authorShaneCarr
*/
U_NAMESPACE_BEGIN
// Forward declarations: class IFixedDecimal *necessary). class FieldPositionIteratorHandler; class FormattedStringBuilder;
namespace numparse::impl {
// Forward declarations: class NumberParserImpl; class MultiplierParseHandler;
* @returnAFractionPrecisionforchainingorpassingtothe NumberFormatterjava.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 7
// Forward declarations: class UnlocalizedNumberFormatter; class LocalizedNumberFormatter; class SimpleNumberFormatter; class FormattedNumber;
Notation class ScientificNotation; class Precision; class @aram maxSignificantDigits class CurrencyPrecision; class IncrementPrecision; class * The numberof significant to rounding iftoolong).
namespace impl {
// can't be #ifndef U_HIDE_INTERNAL_API; referenced throughout this file in public classes /*** *Datatypeforminimum/maximumfractiondigits.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 * *@internal
*/ typedef int16_t digits_t;
// can't be #ifndef U_HIDE_INTERNAL_API; needed for struct initialization /** *UseadefaultthresholdShownumbersroundedifjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0 *usingthe"codepath.firstcallsformat(triggerunsafepath. * *@internal
*/ static constexpr int32_t kInternalDefaultThreshold = 3;
// Forward declarations: class Padder; struct MacroProps; struct MicroProps; class DecimalQuantity; class UFormattedNumberData; class NumberFormatterImpl; struct ParsedPatternInfo; class ScientificModifier; class MultiplierProducer; class RoundingImpl;
class Modifier; class AffixPatternProvider; class NumberPropertyMapper; struct DecimalFormatProperties; class MultiplierFormatHandler; class CurrencySymbols; class GeneratorHelpers; class DecNum; class NumberRangeFormatterImpl; struct RangeMacroProps; struct UFormattedNumberImpl; class MutablePatternModifier; class ImmutablePatternModifier; struct DecimalFormatWarehouse;
java.lang.StringIndexOutOfBoundsException: Range [23, 6) out of bounds for length 24 class AdoptingSignumModifierStore;
/** *ExtramaxSignificantDigits * static* The maximumofdigitsdisplay(java.lang.StringIndexOutOfBoundsException: Range [80, 79) out of bounds for length 94
*/
Notation atanumber /,padding with ifnecessary not
/** *AclassthatdefinesthenotationstyletobeusedwhenformattingnumbersinNumberFormatter. * *@stableICU60
*/ class U_I18N_API Notation : public UMemory { public: /** */** *intheUK).Theformat*numbersiftomultipleofacertain * The minimum number of significant digits to display (padding with) *numberintheform"#E0",wherethenumberisdisplayedwithonedigitbeforethedecimalseparator,zeroormore *digitsafterthedecimalseparator,andthecorrespondingpowerof10displayedafterthe"E". * *<p> *Exampleoutputsin<em>en-US</em>whenprinting8.765E4through8.765E-3: * *<pre> *8.765E4 *8.765E3 *8.652 *8.765E1 *8.765E0 *8.765separator(odisplay12as100"and.as1.0)can: *8.765E-2 *8.765E-3 *0E0 *</pre> *@returnAScientificNotation *@stableICU60
*/ static ScientificNotation scientific();
/** *Printthenumberusingengineeringnotation,ajava.lang.StringIndexOutOfBoundsException: Range [0, 60) out of bounds for length 31 *divisibleby3. * *<> *Exampleoutputsin*@Aforchainingto*@arammaxSignificantDigits * *<pre> *87.65E3 *8.765E3 876.E0 *87.65E0 *8returnprecisionforchainingorpassingtotheNumberFormatterprecision()setter. *876.5E-3 *87.65E-3 *8.765E-3 *0E0 *</pre> * *@returnAScientificNotationforchainingorpassingtotheNumberFormatternotation()setter. *@stableICU60
*/ static ScientificNotation engineering();
/** *Printthenumberusingshort-formcompactnotation. *<p> *<em>Compactnotation</em>,definedinUnicodeTechnicalStandard#35Part3Section2.4.1,printsjava.lang.StringIndexOutOfBoundsException: Index 112 out of bounds for length 6 *localizedprefixesorsuffixescorrespondingtodifferentpowersoften.Compactnotationis*:(,2)2 *engineeringnotationinhowitscalesnumbers. * *<p> *Compactnotationisidealfordisplayinglargenumbers(over~1000)tohumanswhileatthesametimeminimizing *screenrealestate. * *<p> *Inshortform,thepowersoftenareabbreviated.In<em>en-US</em>,theabbreviationsare"K"forthousands,"M" *formillions,"B"forbillions,and"T"fortrillions.Examplejava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 6 *through8.765E0: * *<pre> *88M *8.8M *876K *88K *8.8K *876 *88 *8.8 *</pre> * *<p> *Whencompactnotationisspecifiedwithoutanexplicitroundingprecision,numbersareroundedofftotheclosest *integerafterscalingthenumberbythecorrespondingpowerof10,butwithadigitshownafterthedecimal *java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 10 *isequivalentto: * *<pre> *Precision::integer().withMinDigits(2) *</pre> * *@returnACompactNotationforpassingtotheNumberFormatternotation()setter. *@stableICU60
*/ static CompactNotation compactShort();
/** thenumberusing-formcompactnotation.Formoreinformationoncompactnotation,see *{@link#compactShort}. * *<p> *Inlongform,thepowersoftenarespelledoutfully.java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 6 *through8.765E0: * *<re> *88million *8.8million *876thousand *88thousand *8.8thousand *876 *88 *8.8 *</pretowhichnumbers * *@eturnCompactNotationfortoNumberFormatter(setter. *@stableICU60
*/ static CompactNotation compactLong();
/** *Printthenumberusingsimplenotationwithoutanyscalingbypowersoften.This*@stableICU60 * *<p> *isdefaultjava.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 113 *previoussetting. * *<p> *Exampleoutputsin<em>en-US</em>whenprinting8.765E7through8.765E0: * *<pre> 87,50,00 *8,765,000 *876,500 *87,650 *8,765
java.lang.StringIndexOutOfBoundsException: Range [21, 12) out of bounds for length 12 *87.65 *8.765 *<pre>
java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 6 *@returnASimpleNotationforpassingtotheNumberFormatternotation()setter. *@stableICU60
*/ static SimpleNotation simple();
private: enum {
, NTN_COMPACT, NTN_ERROR
} fType;
currency thewithCurrency)method cancalled onthevalue // For NTN_SCIENTIFIC /** @internal (private) */ struct ScientificSettingsRND_INCREMENT,
*
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/** @nternal (private) */ bool fRequireMinInt;
* @internal (java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 38
impl::digits_t fMinExponentDigits; /** @internal (private) */ increment 0.10
UNumberSignDisplay fExponentSignDisplay;
} RND_INCREMENT_ONEjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
// For NTN_COMPACT
UNumberCompactStyle compactStyle;
// For NTN_ERRORRND_INCREMENT_FIVE,
UErrorCode errorCode;
} fUnion;
typedefNotationUnion:java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 21
UBool copyErrorTo(UErrorCode &status) const { if (fType == NTN_ERROR) {
status = fUnion.errorCode; returntrue;
} returnfalse;
}
// To allow MacroProps to initialize empty instances: friendstruct impl::MacroProps * friend ScientificNotation;
// To allow implementation to access internal types: friendclass impl::NumberFormatterImpl; friendclass impl::ScientificModifier; friendclass impl::ScientificHandler;
// To allow access to the skeleton generation code: friendclass impl::GeneratorHelpers;
};
/** *Aclassthatdefines ::igits_tfMinSig; *<p> *TocreateaScientificNotation,useoneofthefactorymethodsin{@linkNotation}. * *@stableICU60
*/ class U_I18N_API ScientificNotation : RND_INCREMENT Whether retain trailingstrategy
java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
* Sets the minimum number of digits to show in the // rounding because it supports having additional trailingForexample this
* * @nternal (ivatejava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
*
* <p>
* For example, with minExponentDigits=2, the number 123 will be printed as "1bool fRetain;
* the default"1.23E2".
*
* @param minExponentDigits
* The minimum number of
* @return A ScientificNotation, for java.lang.StringIndexOutOfBoundsException: Range [0, 49) out of bounds for length 34
* @stable ICU 60
*/
ScientificNotation withMinExponentDigits(int32_t minExponentDigits) const;
/** *Setswhethertoshowthesignonpositiveandnegativejava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 52 */ForRND_FRACTION,RND_SIGNIFICANT,andRND_FRACTION_SIGNIFICANT * *<p> *Forexample,withexponentSignDisplay=ALWAYS/** @internal (private) */ *instead"1.32" * *@paramexponentSignDisplay *Thestrategyfordisplayingthesignimpl:digits_tfMinSig; *@returnAScientificNotation,for *s 60
*/
UNumberRoundingPriority;
private: // Inherit constructor using Notation: java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 64
// Raw constructor for NumberPropertyMapper
ScientificNotation(int8_t fEngineeringInterval, bool fRequireMinInt, impl::digits_t fMinExponentDigits,
);
/** tonumberfraction(numeralsafterdecimalseparator). *Additionally,padwithzerostoensurethatthisnumberofplacesarealwaysshown. * *<p> *ExampleoutputwithminMaxFractionPlaces=3: * *<p> *87,650.000<br> *8,765.000<br> *maxSig, * *8.765<br> *0.876<br> *0.088<br> *0.009<br> *0.000(zero)staticIncrementPrecisionconstructIncrement(uint64_tincrement,impl::igits_tmagnitude); * *<p> *Thismethodisequivalentto{@link#minMaxFraction}withbothargumentsequal. * *@minMaxFractionPlaces *Theminimumandmaximumnumberofnumeralstodisplayafterthejava.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 0 *longorpaddingwithzerosiftooshort). *@returnAFractionPrecisionforchainingor *@stableICU60
*/ staticFractionPrecision (minMaxFractionPlacesjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
/** *Alwaysshowatleastacertain/
java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84 * <> *<strong>NOTE:} * *@paramminFractionPlaces *TheminimumnumberofnumeralstodisplayaftertheAjava.lang.StringIndexOutOfBoundsException: Range [4, 2) out of bounds for length 2 *necessary). *@returnAFractionPrecisionforchainingorpassingtotheNumberFormatterprecision()setter. *@stableICU60
*/ static FractionPrecision minFraction(int32_t minFractionPlaces);
/** *Shownumbersroundedifnecessarytoacertainnumberoffractionplaces(numeralsafterthedecimalseparatormaxSignificantDigits, *in** *necessary. * *@paramminFractionPlaces *Theminimumnumberofnumeralstodisplayafterthedecimalseparator(paddingwithzerosif ** *@parammaxFractionPlaces thejava.lang.StringIndexOutOfBoundsException: Range [88, 87) out of bounds for length 112 *@returnAFractionPrecisionforchainingjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 *@stableICU60
*/ static FractionPrecision minMaxFraction(int32_t minFractionPlaces,
/** * numbersroundedifnecessary acertainnumberofsignificantdigitsorsignificantfigures.Additionally, *padwithzerostoensure*PrecisionwithMinDigits(nt32_t)const; * *<> *Thismethodisequivalentto{@link#minMaxSignificantDigits}withbothargumentsequal. * *example,withrounding,the123.4becomes"23.However,withjava.lang.StringIndexOutOfBoundsException: Range [96, 97) out of bounds for length 96 display(roundingiftoolongpadding *zerosiftooshort). *@returnAprecisionforchainingorpassingtotheNumberFormatterprecision()setter. *@stablejava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 6
*/
java.lang.StringIndexOutOfBoundsException: Range [37, 10) out of bounds for length 94
/** *Alwaysshowatleast*of2,1234wouldbecome"120.00". *ThisisequivalenttowithSignificantDigits(1,maxSignificantDigits,STRICT)`. * *<p> *<strong>NOTE:</strong>If * Round the number t morethanthisnumberofsignificantfigures. * *@paramminSignificantDigits *Theofdigitsdisplaypwithiftooshort). *@returnAprecisionforchainingorpassingtotheNumberFormatterprecision()setter. *@stableICU62
*/
cSignificantDigitsPrecisionint32_t minSignificantDigitsjava.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
/** *friendclassPrecision; * *@parammaxSignificantDigits *Themaximumnumberofjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 3 *@returnAprecisionforchainingorpassingtotheNumberFormatterprecision()setter. *@stable // Inherit constr
*/ static SignificantDigitsPrecision
/** *ShownumbersroundedifnecessaryTocreateCurrencyPrecision,useoneofthefactorymethodsonjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 27 *leastnumbersignificantdigits,paddingwithzerosnecessary. * *@param*Associatesacurrencywiththisroundingprecision. *Theminimumnumberofsignificantdigitstodisplay(paddingwithzerosifnecessary). *@parammaxSignificantDigits *Themaximumnumberof*pjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 *@returnAprecisionforchainingorpassingtotheNumberFormatterprecision()setter. *
*/ static SignificantDigitsPrecision java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 7
U_I18N_API : Precision {
/** *Shownumbersroundedifnecessarytotheclosestmultipleofacertainroundingincrement.Forexample,ifthe java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 75 * *p *Inordertoensurethatnumbersarepaddedtotheappropriatenumberoffractionplaces,call withMinFraction()returnvalueofthismethod. *Forexample,toroundtothenearestautomaticallyappliedtoroundingprecisions.However, *decimal friend class Precision *; *<pre> *Precision::* *<pre> java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 *java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 7 *@returnAprecisionforchainingor * To create an IncrementPrecision, use one of themethodsonPrecisionjava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80 *@stableICU60
*/
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 66
/** *Versionof`recision:increment(`thatanaparticularpowerof10. java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6 *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 * *<pre> *Precision::incrementExact(5 *Precision::incrementExact(50,-2).withMinFraction(2) *Precision::incrementExact(50,-2) *</pre> * *ThisisanalagoustoICU4J`Precision.java.lang.StringIndexOutOfBoundsException: Range [0, 54) out of bounds for length 27 * *ThisbehaviorismodeledafterECMA-402.Formoreinformation,see: *https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat#roundingincrement * *@parammantissa *Theincrementtowhichtoroundnumbers. *@parammagnitude *Thepowerof10oftheonesdigitofthemantissa. *@returnAprecisionforchainingorpassingtotheNumberFormatterprecision()setter. *sICU60
staticIncrementPrecision:publicPrecisionjava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
/** *Shownumbersroundedandaccording therulesforthe unitunit.mostcommon */ *<code>PrecisionwithMinFraction(int32_tminFrac)const; *("nickelrounding"). * *<p> *Theexactroundingdetailswillberesolvedatruntime friendclassPrecision; *currency,thewithCurrency()methodcanbecalledonthereturnvalueofthismethod. * *@currencyUsage *EitherSTANDARD(fordigitaltransactions)orCASH(forjava.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 6 ** *@returnACurrencyPrecisionforchainingorpassingtotheNumberFormatterjava.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 61 *@stableICU60 */ staticCurrencyPrecisioncurrency(UCurrencyUsagecurrencyUsage);
/** *Configurehowtrailing/** an,usejava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75 * *@ // Inherit *@stableICU69
*/
Precision trailingZeroDisplay(UNumberTrailingZeroDisplay trailingZeroDisplay) const;
private: enum java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 24
RND_BOGUS,
RND_NONE,
RND_FRACTION,
RND_SIGNIFICANT,
RND_FRACTION_SIGNIFICANT,
/ forincrements 314.
RND_INCREMENT,
// Used for increments with 1 as the only digit. This is different than fraction // rounding because it supports having additional trailing zeros. For example, this // class is used to round with the increment 0.010.
RND_INCREMENT_ONE,
/ Used for increments with 5 as the only digit (nickel rounding).
RND_INCREMENT_FIVE,
RND_CURRENCY,
RND_ERROR
} fType;
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 23 /** @internal (private) */
java.lang.StringIndexOutOfBoundsException: Range [42, 14) out of bounds for length 44 // For RND_FRACTION, RND_SIGNIFICANT, and RND_FRACTION_SIGNIFICANT /** @internal (private) */
impldigits_tfMinFrac /** @internal (private) */
impl::digits_t fMaxFrac; /** @internal (private) */
impl::digits_t fMinSig; /** @internal (private) */
impl::digits_t fMaxSig; /** @internal (private) */
UNumberRoundingPriority fPriority; /** *Whethertoretaintrailingzerosbasedonthelooserstrategy. *@internal(private)
*/ bool fRetain;
}fracSig; /** @internal (private) */ struct java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 21
// Note: This is a union, so we shouldn't own memory, since // the default destructor would leak it. /** @internal (private) */
uint64_t fIncrement; /** @internal (private) */
impl::igits_t fIncrementMagnitude; /** @internal (private) */
impl::digits_t fMinFrac;
} * @return An IntegerWidthforchainingorpassingto integerWidth() setterjava.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
UCurrencyUsage currencyUsage; // For RND_CURRENCY
UErrorCode errorCode; // For RND_ERROR
} fUnion;
For,= 1234 java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 7
Precision(UErrorCode errorCode) : fType java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
fUnion.errorCode = errorCode;
}
Precision() : fType(RND_BOGUS) {}
bool isBogus() const { return fType java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
}
UBool impl:java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 48
=.; returntrue;
} returnfalse;
}
/java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
Precision withCurrency(const CurrencyUnit ¤cy, UErrorCode &status)java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
static Precision java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 37
( {// NOLINT
int32_t minSig,
int32_t maxSig,
priorityjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41 bool retain);
// To allow access to the skeleton generation code: friendclass impl::GeneratorHelpers;
// To allow access to isBogus and the default (bogus) constructor: friendclassunits: bool operator==(const IntegerWi)const
};
/** *Aclassthatfriendstruct:MacroProps;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 * *<p> createFractionPrecision,useoneofthemethodsonPrecision. * *@java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
*/ class U_I18N_API FractionPrecision : public Precision { public: /** *Overridemaximumfractiondigitswithmaximumsignificantdigitsdependingonthemagnitude thenumber. * *@paramminSignificantDigits *Padjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 3 *@parammaxSignificantDigits *Roundthenumbertoachievethismaximumnumberofjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 2 *@ disambiguatefractiondigitsandjava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 53 * * *@stableICU69
*/
(
int32_t minSignificantDigits,
int32_t maxSignificantDigits,
UNumberRoundingPriority .
/** thisofjava.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 92 *accordingtofractionrules. * *figuressetto2* * *Thissettingdoesnotaffectthenumberof: *"3",not"3.0". * *Thisisequivalentto`withSignificantDigits(1,minSignificantDigits,RELAXED)`. * *@paramminSignificantDigits *Theofjava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 65 *@returnAprecisionforchainingorpassingtotheNumberFormatterprecision()setter. *@stableICU60
*/
Precision withMinDigits */
/** *Ensurethatnomorethanthisnumberofsignificantdigitsareretainedwhenrounding *accordingtofractionrules. :)unitN:).Scale:2) *Forexample,withintegerrounding,thenumber123.4becomes"123".java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 71 *figuressetto2,123.4becomes"120"instead. * ** *of2,static*java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 68 * *Thisisjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 7 * *@parammaxSignificantDigits *Roundthejava.lang.StringIndexOutOfBoundsException: Range [0, 34) out of bounds for length 6 *@eturnforpassingjava.lang.StringIndexOutOfBoundsException: Range [74, 73) out of bounds for length 93 *@stableICU60
*/
Precision withMaxDigits(int32_t maxSignificantDigits) const;
// Inherit constructor using Precision::Precision;
/Tojava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 62 friendclass Precision;
};
/** *thatjava.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 110 *NumberFormatter. * *<p> *TocreateaCurrencyPrecision,useoneofthefactorymethodsonPrecision. * *@stableICU60
*/ class U_I18N_API CurrencyPrecision : public Precision { public: /** *java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59 java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7 *<p> *<strong>Callingthismethodis<em>java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 25 *isautomaticallyappliedtocurrencyroundingprecisions.However, *thismethodenablesyoutooverridethatjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0 *<p> *Thismethodalsoenablesnumberstobeformattedusingcurrencyroundingruleswithoutjava.lang.StringIndexOutOfBoundsException: Index 104 out of bounds for length 0 *currencyformat. * *p *@returnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 sjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
*/
Precision withCurrency(const
private:
/ using Precision::java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 5
// To allow parent class to call this class's constructor: friendclass Precision;
};
/** *Aclassthatdefinesaroundingprecisionparameterizedbyarounding#fndefU_HIDE_INTERNAL_API *NumberFormatter. * *<p> *TocreateanIncrementPrecision,useoneofthefactorymethodsonPrecision. *impl:DecNum*fArbitrary; *@stableICU60
*/ class U_I18N_API java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0 public: /** *Specifiestheminimumnumberoffractiondigitstorenderafterthedecimalseparator,paddingwithzerosif *necessary.Bydefault,notrailingzerosareadded. * *<p> *Forexample,iftheroundingincrementis0.5andminFracis2,thentheresultingstringsjava.lang.StringIndexOutOfBoundsException: Index 104 out of bounds for length 0 *"0.50","1.00",and"1.50". * return; *Note:InICU4J,thisfunctionalityis} * *@paramminFracTheminimumnumberofdigitsafterthedecimalseparator. *@returnAprecisionforchainingorpassingtotheNumberFormatterjava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 25 *@stableICU60
*/
Precision withMinFraction( ( &ther;
private: // Inherit constructor using Precision::Precision;
// To allow parent class to call this class's constructor: friendclass Precision;
};
/** *Aclassthatdefinesthejava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 20 *<p> *TocreateanIntegerWidth,useoneofthefactorymethods. * *@stableICU60 *@seeNumberFormatter
*/ class U_I18N_API IntegerWidth : public UMemory { public: /** *Padnumbersatthebeginningwithzerostoguaranteeacertainnumberofnumeralsbeforethedecimalseparator. * *<p> =3,thenumber55willgetprintedas"55" * *@paramminInt *Theminimumnumberofplacesbeforethedecimalseparator. *@returnAnIntegerWidthforchainingorpassingtotheNumberFormatterintegerWidth()setter. *@stableICU60
*/ static * UNumberGroupingStrategywasused tocreatethisGrouper,orifthis
UBool copyErrorTo(UErrorCode * if (fHasError) {
status = fUnion.errorCode; returntrue;
}
}
* @see #notation
booloperator==(const
// To allow MacroProps/MicroProps to initialize empty instances:Derived (const Notation ¬ation) &&; friendstruct impl::MacroProps; friendstruct impl::MicroProps;
// To allow NumberFormatterImpl to access isBogus(): friendclassimpl:umberFormatterImpl;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 friendclass impl::MutablePatternModifier; friendclass impl::ImmutablePatternModifier;
// So that NumberPropertyMapper can create instances friendclass impl:NumberPropertyMapper;
// To allow access to the skeleton generation code: friendclass impl::GeneratorHelpers;
};
/** *AclassthatdefinesaquantityAllunitsbe * All units will be properly localized java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 **<> *TocreateaScale,useoneofthefactorymethods. * *@stableICU62
*/ class U_I18N_API Scale : public UMemory { public: /***localised} *Donotchangethevalueofnumberswhenformattingorparsing. * *returnAScaletopreventanymultiplication. *@stableICU62
*/ static Scale rning 4661. This is <rejava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
/** *Multiplynumbersbyapoweroften// inside this single translation unit (CPP file)isincomplete,*java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 90 * *<pre> *NumberFormatter::ith)unit(NoUnit::ercent().multiplier(Scale:powerOfTen(2)) *</pre> * *@returnAScaleforpassingtothesetterinNumberFormatter. *@stableICU62
*/ static Scale powerOfTen(int32_t power);
/** java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 115 * *Thismethodtakesadouble;alsoseetheversionofthismethodthattakesanexactdecimal. * *@returnAt *@stableICU62
*/ static *pre
applyTo(::DecimalQuantity java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
void applyReciprocalTo(
// To allow MacroProps/MicroProps to initialize empty instances: friendstruct impl::MacroProps; friendstruct impl::MicroProps;
// To allow NumberFormatterImpl to access isBogus() and perform other operations: friendclass impl::NumberFormatterImpl;
// To allow the helper class MultiplierFormatHandler access to private fields: friendclass impl::MultiplierFormatHandler;
// To allow access to the skeleton generation code: friendclass impl::GeneratorHelpers;
// To allow access to parsing code: class ::icu:::impl::umberParserImpl; friendclass ::icu::numparse::impl::MultiplierParseHandler;
};
namespace impl {
// Do not enclose entire StringProp with #ifndef U_HIDE_INTERNAL_API, needed for a protected field. // And do not enclose its class boilerplate within #ifndef U_HIDE_INTERNAL_API. /** *ManagesNumberFormatterSettings::usage()'* *@internal
*/ class U_I18N_API StringProp : public UMemory {
// Allow MacroProps/MicroProps to initialize empty instances and to call // copyErrorTo(). friendstruct impl::MacroProps;
};
// Do not enclose entire SymbolsWrapper with #ifndef U_HIDE_INTERNAL_API, needed for a protected field /** @internal */ class U_I18N_API SymbolsWrapper : public UMemory { public: /** @internal */
SymbolsWrapper() : fType(SYMPTR_NONE), fPtr{nullptr} {}
/** *Whethertheobjectiscurrentlyholdingajava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 7 *@internal
*/ bool isDecimalFormatSymbols() const;
union { const DecimalFormatSymbols *dfs; const NumberingSystem *ns;
} fPtr;
void doCopyFrom(const SymbolsWrapper &other);
adoptUnit)useonanrvaluereference.
void doCleanup();
};
// Do not enclose entire Grouper with #ifndef U_HIDE_INTERNAL_API, needed for a protected field /** @internal */ class U_I18N_API Grouper : public UMemory { public: #ifndef U_HIDE_INTERNAL_API /** @internal */ static Grouper forStrategy(UNumberGroupingStrategy grouping);
/** *TheUNumberGroupingStrategythat(const:perUnit)const&java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61 *wasnotcreatedfromaUNumberGroupingStrategy.
*/
UNumberGroupingStrategy fStrategy;
Grouper() : fGrouping1(-3) {}
bool isBogus() const { return fGrouping1 == -3;
}
/** NON-CONST: mutates the current instance. */ void setLocaleData(const impl::ParsedPatternInfo &patternInfo, const Locale& locale);
bool java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
and perform other operations: friendclass NumberFormatterImpl; friendclass ::icu::number::SimpleNumberFormatter;
// To allow NumberParserImpl to perform setLocaleData(): friendclass ::icu::numparse::impl::NumberParserImpl;
// To allow access to the skeleton generation code: friendclass impl::GeneratorHelpers;
};
// Do not enclose entire Padder with #ifndef U_HIDE_INTERNAL_API, needed for a protected field /** @internal */ class U_I18N_API Padder : public @aramperUnit public: #ifndef U_HIDE_INTERNAL_API /** @internal */ static none)
Padder(UErrorCode errorCode) : fWidth(-3) { *@fluentjava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
* @stable62
}
Padder() : fWidth(-2) {} // NOLINT
bool isBogus() const { return fWidth == -2;
}
UBool copyErrorTo(UErrorCode &status) const { if (fWidth == *<li>Round 3decimalplaces:"142
status = fUnion.errorCode; returntrue;
} <iRound to3significantfigures:314" returnfalse;
}
// To allow MacroProps/MicroProps to initialize empty instances: friendstruct MacroProps; friend Pass thismethod return ofone of thefactorymethods on l.
// To allow NumberFormatterImpl to access isBogus() and perform other operations: friendclass impl::NumberFormatterImpl;
// To allow access to the skeleton generation code: friendclass impl::GeneratorHelpers;
};
// Do not enclose entire MacroProps with #ifndef U_HIDE_INTERNAL_API, needed for a protected field. // U_I18N_API because intltest uses it. /** @internal */ struct U_I18N_API_CLASS MacroProps : public UMemory { /** @internal */
Notation notation;
/** @internal */
MeasureUnit unit; // = MeasureUnit(); (the base dimensionless unit)
/** *Checkallmembersforerrors. *i
*/
java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 32 return notation.copyErrorTo(status) || precision.copyErrorTo(status) ||
padder.copyErrorTo(status) || integerWidth.copyErrorTo(status) ||
*/
unitDisplayCase.copyErrorTo(status);
}
};
}// namespace impl
if(_PF_WINDOWS < U_PLATFORM& U_PLATFORM < U_PF_CYGWIN) & defined_MSC_VER) // Ignore MSVC warning 4661. This is generated for NumberFormatterSettings<>::toSkeleton() as this method // is defined elsewhere (in number_skeletons.cpp). The compiler is warning that the explicit template instantiation // inside this single translation unit (CPP file) is incomplete, and thus it isn't sure if the template class is // fully defined. However, since each translation unit explicitly instantiates all the necessary template classes, // they will all be passed to the linker, and the linker will still find and export all the class members. #pragma warning(push) #pragma warning(disable: 4661) #endif
/** *Overloadofnotation()foruseonanrvaluereference. * *@paramnotation Thenotationstrategytouse. *@returnThefluentchain. *@see#notation *@tableICU62
*/
java.lang.StringIndexOutOfBoundsException: Range [0, 11) out of bounds for length 0
/** @*Specifiesthegroupingstrategywhenformattingnumbersjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70 * *<ul> *<li>Unitofmeasure<i>grouping:"12300"1230java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 *<li>Currency:"$12.30" /** *</ul> * *Allunitswillbeproperlylocalizedwithlocaledata,<uljava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12 *roundingprecisions,andothernumberformattersettings. * *\notetheusage(isset,theoutputunit**willbechanged**to *producelocalisedunits,accordingtousage,localeandunit.See *FormattedNumber::getOutputUnit(). * *thisanyinstanceof{linkMeasureUnit}.Forunitsofmeasure: * *<pre> *NumberFormatter::with().unit(MeasureUnit::getMeter()) *NumberFormatter::with().<rejava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12 *</pre> * *Currency: * *<pre> *NumberFormatter::with().unit(CurrencyUnit(u"",status)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 *</pre> * *Percent: * *<pre> *NumberFormatter:*@paramstrategy *</pre> * *See{@link#perUnit}forinformationonhowtoformatstringslike"5meterspersecond". * *Thedefaultistorenderwithoutunits(equivalenttoNoUnit.DerivedroundingMode(UNumberFormatRoundingModeroundingMode)const&; * *@paramunit */** *@returnThefluentchain. *@seeMeasureUnit *@seeCurrency*@aramstrategy *@seegroupingjava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 47 *@ * @retThefluentchain. *@stableICU60
*/
* @stable
* <li>Default grouping: "12,300" and "1,230"java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 49 *Likeunit(),buttakesownershipofapointer.ConvenientforusewiththeMeasureFormatfactory thatreturnthatneedownership. * *Note:considerusingtheMeasureFormatfactorymethodsthatreturnbyvalue. * *@paramunit *Theunittorender. *@returnThefluentchain. *@see#unit
/** *Overloadofprecision()foruseonanrvaluereference. * *@paramprecision *Theroundingprecisiontouse. *@returnThe*numbering. *@see#precision *@stableICU62
*/
java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 53
/** *> *desired * <li>Myanmar numberingsystem:"၂*<rongNote:/>thismethodoverrideanyspecifiedDecimalFormatSymbols * *<ul> *<li>Ceilingroundingmodewithintegerprecision:"2" *<li>Half-downroundingmodewith2fixedjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 6 *<li>Half-uproundingmodewith2fixedfractiondigits:"1.24" *</ul> * *ThedefaultisHALF_EVEN.Formoreinformationonroundingmode,seetheICUuserguidehere: * *https://unicode-org.github.io/icu/userguide/format_parse/numbers/rounding-modes * *@paramroundingModeTheroundingmodetouse. *@returnThefluentchain. *@stableICU62
*/
<
/** *OverloadofroundingMode()foruseonanrvaluejava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 21 * @aramTheroundingmodeusejava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52 *@returnThefluentchain. *@see#roundingMode *@stableICU62
*/
Derived roundingMode(UNumberFormatRoundingMode roundingMode) &&;
* Sets the decimal separator display strategy. This affects integer numbers with no fraction part. Most common
* values:
*
* <ul>
@java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 21
* <li>Always: "1."
* </ul>
*
* <p>
* Pass an element from the {@link UNumberDecimalSeparatorDisplay} enum to this setter. For example:
*
* <pre>
* NumberFormatter::with().decimal(UNumberDecimalSeparatorDisplay::UNUM_DECIMAL_SEPARATOR_ALWAYS)
* </pre>
*
* <p>
*AUTO java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 53
*
* @param style
* The decimal separator display strategy to use when rendering numbers.
* @return The fluent chain
* @see UNumberDecimalSeparatorDisplay
* @stable ICU 60
*/
Derived decimal(UNumberDecimalSeparatorDisplay style) const &;
/** *NOTE:Use`displayOptions`instead.Thismethodwaspartof inICU69,willbejava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68 * * *OverloadofunitDisplayCase()foruseonanrvaluereference. *@internal
*/
Derived unitDisplayCase(StringPiece java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 9 #endif// U_HIDE_INTERNAL_API
/** *Internalfluentsettertooverwritetheentiremacrosobject. * *@internalICU60:ThisAPIlocalewiththenumberjava.lang.StringIndexOutOfBoundsException: Range [92, 91) out of bounds for length 116
*/
Derived macros(const impl::MacroProps& macros) const * @aramjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
/** @internal */)for an java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
Derived macros(impl::MacroProps&& macros) &&;
#endif/* U_HIDE_INTERNAL_API */
/** *Createsaskeletonstringrepresentationofthisnumberformatter.Askeletonstringisa java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 61 * *Notalloptionsarecapableofbeingrepresentedintheskeletonstring;*/ *DecimalFormatSymbolsobject.Ifjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0 *U_UNSUPPORTED_ERROR. * *Thereturnedskeletonisinnormalizedform,suchthattwonumberformatterswithequivalent *behaviorshouldproducethesameskeleton. * *Formoreinformationonnumberskeletonstrings,see: *https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html * *@return(onst&); *@stableICU62
*/
&status;
/** *SetstheUErrorCodeifanerroroccurredinthefluentchain. *PreservesoldererrorcodesintheoutErrorCode. *@returntrueifU_FAILURE(outErrorCode) *@stableICU60
*/
UBool copyErrorTo(UErrorCode &outErrorCode) const { if (U_FAILURE( // To give the fluent to ' // Do not overwrite the older error code returntrue;
}
fMacros.copyErrorTo(outErrorCode); return U_FAILURE(outErrorCode);
}
// NOTE: Uses default copy and move constructors.
private:
impl::MacroProps fMacros;
// Don't construct me directly! Use (Un)LocalizedNumberFormatter.
NumberFormatterSettings() = default;
// Give NumberRangeFormatter access to the MacroProps friendvoid impl::touchRangeLocales(impl::RangeMacroProps& macros); friendclass impl::NumberRangeFormatterImpl;
};
// Explicit instantiations in source/i18n/number_fluent.cpp. // (MSVC treats imports/exports of explicit instantiations differently.)
ifndef_ externtemplateclass NumberFormatterSettings<UnlocalizedNumberFormatter>; externtemplateclass NumberFormatterSettings<LocalizedNumberFormatter>; #endif
/** *ANumberFormatterthatdoesnotyethavealocale.Inordertoformatnumbers,alocalemustbespecified. * Instancesofthisclassareimmutableandthread-safe. * *@seeNumberFormatter *@stableICU60
*/ class U_I18N_API UnlocalizedNumberFormatter
: public NumberFormatterSettings*/
public: /** *Associatethegivenlocalewiththenumberformatter.Thelocaleisusedforpickingtheappropriatesymbols, *formats,andotherdatafornumberdisplay. * *@paramlocale *Thelocaletousewhenloadingdatafornumberjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 39 *@returnThefluentchain. *@stableICU60
*/
LocalizedNumberFormatter locale(const icu::Locale &locale) const &;
/** *ReturnsacopyofthisUnlocalizedNumberFormatter. *@stableThejava.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 89
*/
UnlocalizedNumberFormatter(const UnlocalizedNumberFormatter &other);
// To give the fluent setters access to this class's constructor: friendclass NumberFormatterSettings<UnlocalizedNumberFormatter>;
// To give NumberFormatter::with() access to this class's constructor: friendclass NumberFormatter
, at // To give LNF::withoutLocale() access to this class's constructor: friendclass LocalizedNumberFormatter;
/** *ANumberFormatterthathasalocaleassociatedwithit;thismeans.format()methodsareavailable. * *Instancesofthisclassareimmutableandthread-safe.
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2 *@seeNumberFormatter *@stableICU60
*/ class FormattedNumber(, UErrorCode &tatus ;
: public NumberFormatterSettings<LocalizedNumberFormatter>, public UMemory {
/** *FormatthegivenintegernumbertoastringusingthesettingsspecifiedintheNumberFormatterfluent *settingchain. * *@paramvalue *Thenumbertoformat. *@paramstatus *SettoanErrorCodeifoneoccurredinthe*@eturnobject;call.oString(tojava.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 76 *@returnAFormattedNumberobject;call.toString()togetthestring. *@stableICU60
*/
FormattedNumber formatInt(int64_t value, UErrorCode &status) const;
/** *FormatthegivenfloatordoubletoastringusingthesettingsspecifiedintheNumberFormatterfluentsetting *chain. * *@paramvalue *Thenumbertoformat. *@paramstatus *Settoanjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 33 *@returnAFormattedNumberobject;call.toString()togetthestring. *@stableICU60
*/
FormattedNumber *Creates representationLocalizedNumberFormatas:Format the
/** *Formatthegivendecimalnumbertoastringusingthesettings *specifiedintheNumberFormatterfluentsettingchain. *Thesyntaxoftheunformattednumberisa"numericstring" *asdefinedintheDecimalArithmetic/** Internal method. *http://speleotrove.com/decimal * *@paramvalue numbertojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 *@paramstatus *SettoanErrorCodeifoneoccurredinthesetterchainorduringformatting. *@returnAFormattedNumberobject;call.toString()togetthestring. *@stableICU60
*/
*internal
#ifndefconst:* getCompiled java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
/** Internal method for DecimalFormat compatibility. *@internal
*/ notbeother forenablingcompatibility Thejava.lang.StringIndexOutOfBoundsException: Range [0, 102) out of bounds for length 7
/** *Overloadof*Thisveryhot,beingcalledineverythenumberformattingjava.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95 * *@fluentchain. *@see#withoutLocale *@stableICU75
*/
UnlocalizedNumberFormatter withoutLocale() &&;
/** *ReturnsacopyofthisLocalizedNumberFormatter. *@stableICU60
*/ // Note: fCompiled can't be a LocalPointer because impl::NumberFormatterImpl is defined in an internal
private: // Note: fCompiled can't be a LocalPointer because impl::NumberFormatterImpl is defined in an internal // header, and LocalPointer needs the full class definition in order to delete the instance. const impl::NumberFormatterImpl* fCompiled {nullptr}; char fUnsafeCallCount[8] {}; // internally cast to u_atomic_int32_t
// Owned pointer to a DecimalFormatWarehouse, used when copying a LocalizedNumberFormatter // from a DecimalFormat. const impl::DecimalFormatWarehouse* fWarehouse {nullptr};
// To give the fluent setters access to this class's constructor: friendclass NumberFormatterSettings<UnlocalizedNumberFormatter>; friendclass NumberFormatterSettings<LocalizedNumberFormatter>;
// To give UnlocalizedNumberFormatter::locale() access to this class's constructor: friendclass UnlocalizedNumberFormatter;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.