mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-14 22:51:28 +00:00
CPNumberFormatter setMinimumFractionDigits: support.
This commit is contained in:
@@ -59,6 +59,7 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain;
|
||||
CPString _perMillSymbol @accessors(property=perMillSymbol);
|
||||
CPString _groupingSeparator @accessors(property=groupingSeparator);
|
||||
CPNumberFormatterRoundingMode _roundingMode @accessors(property=roundingMode);
|
||||
CPUInteger _minimumFractionalDigits @accessors(property=minimumFractionalDigits);
|
||||
CPUInteger _maximumFractionalDigits @accessors(property=maximalFractionalDigits);
|
||||
|
||||
CPDecimalNumberHandler _numberHandler;
|
||||
@@ -95,6 +96,9 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain;
|
||||
preFractionLength = [preFraction length],
|
||||
commaPosition = 3;
|
||||
|
||||
while (fraction.length < _minimumFractionalDigits)
|
||||
fraction += "0";
|
||||
|
||||
// TODO This is just a temporary solution. Should be generalised.
|
||||
// Add in thousands separators.
|
||||
if (_groupingSeparator)
|
||||
@@ -149,6 +153,12 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain;
|
||||
SET_NEEDS_NUMBER_HANDLER_UPDATE();
|
||||
}
|
||||
|
||||
- (void)setMinimumFractionDigits:(CPUInteger)aNumber
|
||||
{
|
||||
_minimumFractionalDigits = aNumber;
|
||||
SET_NEEDS_NUMBER_HANDLER_UPDATE();
|
||||
}
|
||||
|
||||
- (void)setMaximumFractionDigits:(CPUInteger)aNumber
|
||||
{
|
||||
_maximumFractionalDigits = aNumber;
|
||||
|
||||
@@ -78,4 +78,15 @@
|
||||
[self assert:@"0.4" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"0.4467"]]];
|
||||
}
|
||||
|
||||
- (void)testSetMinimumFractionDigits_
|
||||
{
|
||||
var numberFormatter = [CPNumberFormatter new];
|
||||
[numberFormatter setNumberStyle:CPNumberFormatterDecimalStyle];
|
||||
[numberFormatter setMinimumFractionDigits:3];
|
||||
[numberFormatter setMaximumFractionDigits:4];
|
||||
|
||||
[self assert:@"1.000" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1"]]];
|
||||
[self assert:@"1.100" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"1.1"]]];
|
||||
[self assert:@"0.4467" equals:[numberFormatter stringFromNumber:[CPDecimalNumber decimalNumberWithString:@"0.4467"]]];
|
||||
}
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user