@nodert-win10/windows.globalization.numberformatting
Version:
Use the Windows.Globalization.NumberFormatting UWP API directly from Node.js
295 lines (204 loc) • 6.62 kB
TypeScript
declare module "windows.globalization.numberformatting" {
export enum RoundingAlgorithm {
none,
roundDown,
roundUp,
roundTowardsZero,
roundAwayFromZero,
roundHalfDown,
roundHalfUp,
roundHalfTowardsZero,
roundHalfAwayFromZero,
roundHalfToEven,
roundHalfToOdd,
}
export enum CurrencyFormatterMode {
useSymbol,
useCurrencyCode,
}
export class INumberRounder {
constructor();
roundInt32(value: Number): Number;
roundUInt32(value: Number): Number;
roundInt64(value: Number): Number;
roundUInt64(value: Number): Number;
roundSingle(value: Number): Number;
roundDouble(value: Number): Number;
}
export class SignificantDigitsNumberRounder {
significantDigits: Number;
roundingAlgorithm: RoundingAlgorithm;
constructor();
roundInt32(value: Number): Number;
roundUInt32(value: Number): Number;
roundInt64(value: Number): Number;
roundUInt64(value: Number): Number;
roundSingle(value: Number): Number;
roundDouble(value: Number): Number;
}
export class IncrementNumberRounder {
roundingAlgorithm: RoundingAlgorithm;
increment: Number;
constructor();
roundInt32(value: Number): Number;
roundUInt32(value: Number): Number;
roundInt64(value: Number): Number;
roundUInt64(value: Number): Number;
roundSingle(value: Number): Number;
roundDouble(value: Number): Number;
}
export class INumberFormatter {
constructor();
format(value: Number): String;
format(value: Number): String;
format(value: Number): String;
}
export class INumberFormatter2 {
constructor();
formatInt(value: Number): String;
formatUInt(value: Number): String;
formatDouble(value: Number): String;
}
export class INumberParser {
constructor();
parseInt(text: String): Number;
parseUInt(text: String): Number;
parseDouble(text: String): Number;
}
export class INumberFormatterOptions {
fractionDigits: Number;
geographicRegion: String;
integerDigits: Number;
isDecimalPointAlwaysDisplayed: Boolean;
isGrouped: Boolean;
languages: Object;
numeralSystem: String;
resolvedGeographicRegion: String;
resolvedLanguage: String;
constructor();
}
export class ISignificantDigitsOption {
significantDigits: Number;
constructor();
}
export class INumberRounderOption {
numberRounder: INumberRounder;
constructor();
}
export class ISignedZeroOption {
isZeroSigned: Boolean;
constructor();
}
export class DecimalFormatter {
isDecimalPointAlwaysDisplayed: Boolean;
integerDigits: Number;
isGrouped: Boolean;
fractionDigits: Number;
numeralSystem: String;
geographicRegion: String;
languages: Object;
resolvedGeographicRegion: String;
resolvedLanguage: String;
numberRounder: INumberRounder;
isZeroSigned: Boolean;
significantDigits: Number;
constructor();
constructor(languages: Object, geographicRegion: String);
format(value: Number): String;
format(value: Number): String;
format(value: Number): String;
formatInt(value: Number): String;
formatUInt(value: Number): String;
formatDouble(value: Number): String;
parseInt(text: String): Number;
parseUInt(text: String): Number;
parseDouble(text: String): Number;
}
export class PercentFormatter {
isDecimalPointAlwaysDisplayed: Boolean;
integerDigits: Number;
isGrouped: Boolean;
fractionDigits: Number;
numeralSystem: String;
geographicRegion: String;
languages: Object;
resolvedGeographicRegion: String;
resolvedLanguage: String;
numberRounder: INumberRounder;
isZeroSigned: Boolean;
significantDigits: Number;
constructor();
constructor(languages: Object, geographicRegion: String);
format(value: Number): String;
format(value: Number): String;
format(value: Number): String;
formatInt(value: Number): String;
formatUInt(value: Number): String;
formatDouble(value: Number): String;
parseInt(text: String): Number;
parseUInt(text: String): Number;
parseDouble(text: String): Number;
}
export class PermilleFormatter {
isDecimalPointAlwaysDisplayed: Boolean;
integerDigits: Number;
isGrouped: Boolean;
fractionDigits: Number;
numeralSystem: String;
geographicRegion: String;
languages: Object;
resolvedGeographicRegion: String;
resolvedLanguage: String;
numberRounder: INumberRounder;
isZeroSigned: Boolean;
significantDigits: Number;
constructor();
constructor(languages: Object, geographicRegion: String);
format(value: Number): String;
format(value: Number): String;
format(value: Number): String;
formatInt(value: Number): String;
formatUInt(value: Number): String;
formatDouble(value: Number): String;
parseInt(text: String): Number;
parseUInt(text: String): Number;
parseDouble(text: String): Number;
}
export class CurrencyFormatter {
currency: String;
mode: CurrencyFormatterMode;
isGrouped: Boolean;
isDecimalPointAlwaysDisplayed: Boolean;
integerDigits: Number;
fractionDigits: Number;
numeralSystem: String;
geographicRegion: String;
resolvedGeographicRegion: String;
resolvedLanguage: String;
languages: Object;
numberRounder: INumberRounder;
isZeroSigned: Boolean;
significantDigits: Number;
constructor();
constructor(currencyCode: String);
constructor(currencyCode: String, languages: Object, geographicRegion: String);
format(value: Number): String;
format(value: Number): String;
format(value: Number): String;
formatInt(value: Number): String;
formatUInt(value: Number): String;
formatDouble(value: Number): String;
parseInt(text: String): Number;
parseUInt(text: String): Number;
parseDouble(text: String): Number;
applyRoundingForCurrency(roundingAlgorithm: RoundingAlgorithm): void;
}
export class NumeralSystemTranslator {
numeralSystem: String;
languages: Object;
resolvedLanguage: String;
constructor();
constructor(languages: Object);
translateNumerals(value: String): String;
}
}