view dstep/foundation/NSNumberFormatter.d @ 16:19885b43130e

Huge update, the bridge actually works now
author Jacob Carlborg <doob@me.com>
date Sun, 03 Jan 2010 22:06:11 +0100
parents 89f3c3ef1fd2
children b9de51448c6b
line wrap: on
line source

/**
 * Copyright: Copyright (c) 2009 Jacob Carlborg.
 * Authors: Jacob Carlborg
 * Version: Initial created: Aug 3, 2009 
 * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0)
 */
module dstep.foundation.NSNumberFormatter;

import dstep.corefoundation.CFNumberFormatter;

import dstep.foundation.NSAttributedString;
import dstep.foundation.NSDecimalNumber;
import dstep.foundation.NSDictionary;
import dstep.foundation.NSError;
import dstep.foundation.NSFormatter;
import dstep.foundation.NSLocale;
import dstep.foundation.NSObjCRuntime;
import dstep.foundation.NSRange;
import dstep.foundation.NSString;
import dstep.foundation.NSValue;
import dstep.objc.bridge.Bridge;
import dstep.objc.objc;

alias NSUInteger NSNumberFormatterStyle;
alias NSUInteger NSNumberFormatterBehavior;
alias NSUInteger NSNumberFormatterPadPosition;
alias NSUInteger NSNumberFormatterRoundingMode;

enum
{
	NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,
	NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle,
	NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle,
	NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,
	NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,
	NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle
}

enum
{
	NSNumberFormatterBehaviorDefault = 0,
	NSNumberFormatterBehavior10_0 = 1000,
	NSNumberFormatterBehavior10_4 = 1040
}

enum
{
	NSNumberFormatterPadBeforePrefix = kCFNumberFormatterPadBeforePrefix,
	NSNumberFormatterPadAfterPrefix = kCFNumberFormatterPadAfterPrefix,
	NSNumberFormatterPadBeforeSuffix = kCFNumberFormatterPadBeforeSuffix,
	NSNumberFormatterPadAfterSuffix = kCFNumberFormatterPadAfterSuffix
}

enum
{
	NSNumberFormatterRoundCeiling = kCFNumberFormatterRoundCeiling,
	NSNumberFormatterRoundFloor = kCFNumberFormatterRoundFloor,
	NSNumberFormatterRoundDown = kCFNumberFormatterRoundDown,
	NSNumberFormatterRoundUp = kCFNumberFormatterRoundUp,
	NSNumberFormatterRoundHalfEven = kCFNumberFormatterRoundHalfEven,
	NSNumberFormatterRoundHalfDown = kCFNumberFormatterRoundHalfDown,
	NSNumberFormatterRoundHalfUp = kCFNumberFormatterRoundHalfUp
}

const TNSNumberFormatterCompatibility = `

	bool hasThousandSeparators ()
	{
		return invokeObjcSelf!(bool, "hasThousandSeparators");
	}

	void setHasThousandSeparators (bool flag)
	{
		return invokeObjcSelf!(void, "setHasThousandSeparators:", bool)(flag);
	}

	NSString thousandSeparator ()
	{
		return invokeObjcSelf!(NSString, "thousandSeparator");
	}

	void setThousandSeparator (NSString newSeparator)
	{
		return invokeObjcSelf!(void, "setThousandSeparator:", NSString)(newSeparator);
	}

	bool localizesFormat ()
	{
		return invokeObjcSelf!(bool, "localizesFormat");
	}

	void setLocalizesFormat (bool flag)
	{
		return invokeObjcSelf!(void, "setLocalizesFormat:", bool)(flag);
	}

	NSString format ()
	{
		return invokeObjcSelf!(NSString, "format");
	}

	void setFormat (NSString string)
	{
		return invokeObjcSelf!(void, "setFormat:", NSString)(string);
	}

	NSAttributedString attributedStringForZero ()
	{
		return invokeObjcSelf!(NSAttributedString, "attributedStringForZero");
	}

	void setAttributedStringForZero (NSAttributedString newAttributedString)
	{
		return invokeObjcSelf!(void, "setAttributedStringForZero:", NSAttributedString)(newAttributedString);
	}

	NSAttributedString attributedStringForNil ()
	{
		return invokeObjcSelf!(NSAttributedString, "attributedStringForNil");
	}

	void setAttributedStringForNil (NSAttributedString newAttributedString)
	{
		return invokeObjcSelf!(void, "setAttributedStringForNil:", NSAttributedString)(newAttributedString);
	}

	NSAttributedString attributedStringForNotANumber ()
	{
		return invokeObjcSelf!(NSAttributedString, "attributedStringForNotANumber");
	}

	void setAttributedStringForNotANumber (NSAttributedString newAttributedString)
	{
		return invokeObjcSelf!(void, "setAttributedStringForNotANumber:", NSAttributedString)(newAttributedString);
	}

	NSDecimalNumberHandler roundingBehavior ()
	{
		return invokeObjcSelf!(NSDecimalNumberHandler, "roundingBehavior");
	}

	void setRoundingBehavior (NSDecimalNumberHandler newRoundingBehavior)
	{
		return invokeObjcSelf!(void, "setRoundingBehavior:", NSDecimalNumberHandler)(newRoundingBehavior);
	}
`;

class NSNumberFormatter : NSFormatter
{
	mixin (ObjcWrap);
	
	this ()
	{
		super(typeof(this).alloc.init.objcObject);
	}
	
	typeof(this) init ()
	{
		return invokeObjcSelf!(typeof(this), "init");
	}

	bool getObjectValue (id* obj, NSString string, NSRange* rangep, ref NSError error)
	{
		id err;
		
		if (error)
			err = new objc_object;
				
		bool result = invokeObjcSelf!(bool, "getObjectValue:forString:range:error:", id*, NSString, NSRange*, id*)(obj, string, rangep, &err);
		
		if (err)
			error = new NSError(err);
		
		return result;
	}

	NSString stringFromNumber (NSNumber number)
	{
		return invokeObjcSelf!(NSString, "stringFromNumber:", NSNumber)(number);
	}

	NSNumber numberFromString (NSString string)
	{
		return invokeObjcSelf!(NSNumber, "numberFromString:", NSString)(string);
	}

	uint numberStyle ()
	{
		return invokeObjcSelf!(uint, "numberStyle");
	}

	void setNumberStyle (uint style)
	{
		return invokeObjcSelf!(void, "setNumberStyle:", uint)(style);
	}

	NSLocale locale ()
	{
		return invokeObjcSelf!(NSLocale, "locale");
	}

	void setLocale (NSLocale locale)
	{
		return invokeObjcSelf!(void, "setLocale:", NSLocale)(locale);
	}

	bool generatesDecimalNumbers ()
	{
		return invokeObjcSelf!(bool, "generatesDecimalNumbers");
	}

	void setGeneratesDecimalNumbers (bool b)
	{
		return invokeObjcSelf!(void, "setGeneratesDecimalNumbers:", bool)(b);
	}

	uint formatterBehavior ()
	{
		return invokeObjcSelf!(uint, "formatterBehavior");
	}

	void setFormatterBehavior (uint behavior)
	{
		return invokeObjcSelf!(void, "setFormatterBehavior:", uint)(behavior);
	}

	static uint defaultFormatterBehavior ()
	{
		return invokeObjcSuperClass!(uint, "defaultFormatterBehavior");
	}

	static void setDefaultFormatterBehavior (uint behavior)
	{
		return invokeObjcSuperClass!(void, "setDefaultFormatterBehavior:", uint)(behavior);
	}

	NSString negativeFormat ()
	{
		return invokeObjcSelf!(NSString, "negativeFormat");
	}

	void setNegativeFormat (NSString format)
	{
		return invokeObjcSelf!(void, "setNegativeFormat:", NSString)(format);
	}

	NSDictionary textAttributesForNegativeValues ()
	{
		return invokeObjcSelf!(NSDictionary, "textAttributesForNegativeValues");
	}

	void setTextAttributesForNegativeValues (NSDictionary newAttributes)
	{
		return invokeObjcSelf!(void, "setTextAttributesForNegativeValues:", NSDictionary)(newAttributes);
	}

	NSString positiveFormat ()
	{
		return invokeObjcSelf!(NSString, "positiveFormat");
	}

	void setPositiveFormat (NSString format)
	{
		return invokeObjcSelf!(void, "setPositiveFormat:", NSString)(format);
	}

	NSDictionary textAttributesForPositiveValues ()
	{
		return invokeObjcSelf!(NSDictionary, "textAttributesForPositiveValues");
	}

	void setTextAttributesForPositiveValues (NSDictionary newAttributes)
	{
		return invokeObjcSelf!(void, "setTextAttributesForPositiveValues:", NSDictionary)(newAttributes);
	}

	bool allowsFloats ()
	{
		return invokeObjcSelf!(bool, "allowsFloats");
	}

	void setAllowsFloats (bool flag)
	{
		return invokeObjcSelf!(void, "setAllowsFloats:", bool)(flag);
	}

	NSString decimalSeparator ()
	{
		return invokeObjcSelf!(NSString, "decimalSeparator");
	}

	void setDecimalSeparator (NSString string)
	{
		return invokeObjcSelf!(void, "setDecimalSeparator:", NSString)(string);
	}

	bool alwaysShowsDecimalSeparator ()
	{
		return invokeObjcSelf!(bool, "alwaysShowsDecimalSeparator");
	}

	void setAlwaysShowsDecimalSeparator (bool b)
	{
		return invokeObjcSelf!(void, "setAlwaysShowsDecimalSeparator:", bool)(b);
	}

	NSString currencyDecimalSeparator ()
	{
		return invokeObjcSelf!(NSString, "currencyDecimalSeparator");
	}

	void setCurrencyDecimalSeparator (NSString string)
	{
		return invokeObjcSelf!(void, "setCurrencyDecimalSeparator:", NSString)(string);
	}

	bool usesGroupingSeparator ()
	{
		return invokeObjcSelf!(bool, "usesGroupingSeparator");
	}

	void setUsesGroupingSeparator (bool b)
	{
		return invokeObjcSelf!(void, "setUsesGroupingSeparator:", bool)(b);
	}

	NSString groupingSeparator ()
	{
		return invokeObjcSelf!(NSString, "groupingSeparator");
	}

	void setGroupingSeparator (NSString string)
	{
		return invokeObjcSelf!(void, "setGroupingSeparator:", NSString)(string);
	}

	NSString zeroSymbol ()
	{
		return invokeObjcSelf!(NSString, "zeroSymbol");
	}

	void setZeroSymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setZeroSymbol:", NSString)(string);
	}

	NSDictionary textAttributesForZero ()
	{
		return invokeObjcSelf!(NSDictionary, "textAttributesForZero");
	}

	void setTextAttributesForZero (NSDictionary newAttributes)
	{
		return invokeObjcSelf!(void, "setTextAttributesForZero:", NSDictionary)(newAttributes);
	}

	NSString nilSymbol ()
	{
		return invokeObjcSelf!(NSString, "nilSymbol");
	}

	void setNilSymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setNilSymbol:", NSString)(string);
	}

	NSDictionary textAttributesForNil ()
	{
		return invokeObjcSelf!(NSDictionary, "textAttributesForNil");
	}

	void setTextAttributesForNil (NSDictionary newAttributes)
	{
		return invokeObjcSelf!(void, "setTextAttributesForNil:", NSDictionary)(newAttributes);
	}

	NSString notANumberSymbol ()
	{
		return invokeObjcSelf!(NSString, "notANumberSymbol");
	}

	void setNotANumberSymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setNotANumberSymbol:", NSString)(string);
	}

	NSDictionary textAttributesForNotANumber ()
	{
		return invokeObjcSelf!(NSDictionary, "textAttributesForNotANumber");
	}

	void setTextAttributesForNotANumber (NSDictionary newAttributes)
	{
		return invokeObjcSelf!(void, "setTextAttributesForNotANumber:", NSDictionary)(newAttributes);
	}

	NSString positiveInfinitySymbol ()
	{
		return invokeObjcSelf!(NSString, "positiveInfinitySymbol");
	}

	void setPositiveInfinitySymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setPositiveInfinitySymbol:", NSString)(string);
	}

	NSDictionary textAttributesForPositiveInfinity ()
	{
		return invokeObjcSelf!(NSDictionary, "textAttributesForPositiveInfinity");
	}

	void setTextAttributesForPositiveInfinity (NSDictionary newAttributes)
	{
		return invokeObjcSelf!(void, "setTextAttributesForPositiveInfinity:", NSDictionary)(newAttributes);
	}

	NSString negativeInfinitySymbol ()
	{
		return invokeObjcSelf!(NSString, "negativeInfinitySymbol");
	}

	void setNegativeInfinitySymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setNegativeInfinitySymbol:", NSString)(string);
	}

	NSDictionary textAttributesForNegativeInfinity ()
	{
		return invokeObjcSelf!(NSDictionary, "textAttributesForNegativeInfinity");
	}

	void setTextAttributesForNegativeInfinity (NSDictionary newAttributes)
	{
		return invokeObjcSelf!(void, "setTextAttributesForNegativeInfinity:", NSDictionary)(newAttributes);
	}

	NSString positivePrefix ()
	{
		return invokeObjcSelf!(NSString, "positivePrefix");
	}

	void setPositivePrefix (NSString string)
	{
		return invokeObjcSelf!(void, "setPositivePrefix:", NSString)(string);
	}

	NSString positiveSuffix ()
	{
		return invokeObjcSelf!(NSString, "positiveSuffix");
	}

	void setPositiveSuffix (NSString string)
	{
		return invokeObjcSelf!(void, "setPositiveSuffix:", NSString)(string);
	}

	NSString negativePrefix ()
	{
		return invokeObjcSelf!(NSString, "negativePrefix");
	}

	void setNegativePrefix (NSString string)
	{
		return invokeObjcSelf!(void, "setNegativePrefix:", NSString)(string);
	}

	NSString negativeSuffix ()
	{
		return invokeObjcSelf!(NSString, "negativeSuffix");
	}

	void setNegativeSuffix (NSString string)
	{
		return invokeObjcSelf!(void, "setNegativeSuffix:", NSString)(string);
	}

	NSString currencyCode ()
	{
		return invokeObjcSelf!(NSString, "currencyCode");
	}

	void setCurrencyCode (NSString string)
	{
		return invokeObjcSelf!(void, "setCurrencyCode:", NSString)(string);
	}

	NSString currencySymbol ()
	{
		return invokeObjcSelf!(NSString, "currencySymbol");
	}

	void setCurrencySymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setCurrencySymbol:", NSString)(string);
	}

	NSString internationalCurrencySymbol ()
	{
		return invokeObjcSelf!(NSString, "internationalCurrencySymbol");
	}

	void setInternationalCurrencySymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setInternationalCurrencySymbol:", NSString)(string);
	}

	NSString percentSymbol ()
	{
		return invokeObjcSelf!(NSString, "percentSymbol");
	}

	void setPercentSymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setPercentSymbol:", NSString)(string);
	}

	NSString perMillSymbol ()
	{
		return invokeObjcSelf!(NSString, "perMillSymbol");
	}

	void setPerMillSymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setPerMillSymbol:", NSString)(string);
	}

	NSString minusSign ()
	{
		return invokeObjcSelf!(NSString, "minusSign");
	}

	void setMinusSign (NSString string)
	{
		return invokeObjcSelf!(void, "setMinusSign:", NSString)(string);
	}

	NSString plusSign ()
	{
		return invokeObjcSelf!(NSString, "plusSign");
	}

	void setPlusSign (NSString string)
	{
		return invokeObjcSelf!(void, "setPlusSign:", NSString)(string);
	}

	NSString exponentSymbol ()
	{
		return invokeObjcSelf!(NSString, "exponentSymbol");
	}

	void setExponentSymbol (NSString string)
	{
		return invokeObjcSelf!(void, "setExponentSymbol:", NSString)(string);
	}

	NSUInteger groupingSize ()
	{
		return invokeObjcSelf!(NSUInteger, "groupingSize");
	}

	void setGroupingSize (NSUInteger number)
	{
		return invokeObjcSelf!(void, "setGroupingSize:", NSUInteger)(number);
	}

	NSUInteger secondaryGroupingSize ()
	{
		return invokeObjcSelf!(NSUInteger, "secondaryGroupingSize");
	}

	void setSecondaryGroupingSize (NSUInteger number)
	{
		return invokeObjcSelf!(void, "setSecondaryGroupingSize:", NSUInteger)(number);
	}

	NSNumber multiplier ()
	{
		return invokeObjcSelf!(NSNumber, "multiplier");
	}

	void setMultiplier (NSNumber number)
	{
		return invokeObjcSelf!(void, "setMultiplier:", NSNumber)(number);
	}

	NSUInteger formatWidth ()
	{
		return invokeObjcSelf!(NSUInteger, "formatWidth");
	}

	void setFormatWidth (NSUInteger number)
	{
		return invokeObjcSelf!(void, "setFormatWidth:", NSUInteger)(number);
	}

	NSString paddingCharacter ()
	{
		return invokeObjcSelf!(NSString, "paddingCharacter");
	}

	void setPaddingCharacter (NSString string)
	{
		return invokeObjcSelf!(void, "setPaddingCharacter:", NSString)(string);
	}

	uint paddingPosition ()
	{
		return invokeObjcSelf!(uint, "paddingPosition");
	}

	void setPaddingPosition (uint position)
	{
		return invokeObjcSelf!(void, "setPaddingPosition:", uint)(position);
	}

	uint roundingMode ()
	{
		return invokeObjcSelf!(uint, "roundingMode");
	}

	void setRoundingMode (uint mode)
	{
		return invokeObjcSelf!(void, "setRoundingMode:", uint)(mode);
	}

	NSNumber roundingIncrement ()
	{
		return invokeObjcSelf!(NSNumber, "roundingIncrement");
	}

	void setRoundingIncrement (NSNumber number)
	{
		return invokeObjcSelf!(void, "setRoundingIncrement:", NSNumber)(number);
	}

	NSUInteger minimumIntegerDigits ()
	{
		return invokeObjcSelf!(NSUInteger, "minimumIntegerDigits");
	}

	void setMinimumIntegerDigits (NSUInteger number)
	{
		return invokeObjcSelf!(void, "setMinimumIntegerDigits:", NSUInteger)(number);
	}

	NSUInteger maximumIntegerDigits ()
	{
		return invokeObjcSelf!(NSUInteger, "maximumIntegerDigits");
	}

	void setMaximumIntegerDigits (NSUInteger number)
	{
		return invokeObjcSelf!(void, "setMaximumIntegerDigits:", NSUInteger)(number);
	}

	NSUInteger minimumFractionDigits ()
	{
		return invokeObjcSelf!(NSUInteger, "minimumFractionDigits");
	}

	void setMinimumFractionDigits (NSUInteger number)
	{
		return invokeObjcSelf!(void, "setMinimumFractionDigits:", NSUInteger)(number);
	}

	NSUInteger maximumFractionDigits ()
	{
		return invokeObjcSelf!(NSUInteger, "maximumFractionDigits");
	}

	void setMaximumFractionDigits (NSUInteger number)
	{
		return invokeObjcSelf!(void, "setMaximumFractionDigits:", NSUInteger)(number);
	}

	NSNumber minimum ()
	{
		return invokeObjcSelf!(NSNumber, "minimum");
	}

	void setMinimum (NSNumber number)
	{
		return invokeObjcSelf!(void, "setMinimum:", NSNumber)(number);
	}

	NSNumber maximum ()
	{
		return invokeObjcSelf!(NSNumber, "maximum");
	}

	void setMaximum (NSNumber number)
	{
		return invokeObjcSelf!(void, "setMaximum:", NSNumber)(number);
	}

	NSString currencyGroupingSeparator ()
	{
		return invokeObjcSelf!(NSString, "currencyGroupingSeparator");
	}

	void setCurrencyGroupingSeparator (NSString string)
	{
		return invokeObjcSelf!(void, "setCurrencyGroupingSeparator:", NSString)(string);
	}

	bool isLenient ()
	{
		return invokeObjcSelf!(bool, "isLenient");
	}

	void setLenient (bool b)
	{
		return invokeObjcSelf!(void, "setLenient:", bool)(b);
	}

	bool usesSignificantDigits ()
	{
		return invokeObjcSelf!(bool, "usesSignificantDigits");
	}

	void setUsesSignificantDigits (bool b)
	{
		return invokeObjcSelf!(void, "setUsesSignificantDigits:", bool)(b);
	}

	NSUInteger minimumSignificantDigits ()
	{
		return invokeObjcSelf!(NSUInteger, "minimumSignificantDigits");
	}

	void setMinimumSignificantDigits (NSUInteger number)
	{
		return invokeObjcSelf!(void, "setMinimumSignificantDigits:", NSUInteger)(number);
	}

	NSUInteger maximumSignificantDigits ()
	{
		return invokeObjcSelf!(NSUInteger, "maximumSignificantDigits");
	}

	void setMaximumSignificantDigits (NSUInteger number)
	{
		return invokeObjcSelf!(void, "setMaximumSignificantDigits:", NSUInteger)(number);
	}

	bool isPartialStringValidationEnabled ()
	{
		return invokeObjcSelf!(bool, "isPartialStringValidationEnabled");
	}

	void setPartialStringValidationEnabled (bool b)
	{
		return invokeObjcSelf!(void, "setPartialStringValidationEnabled:", bool)(b);
	}
	
	// TNSNumberFormatterCompatibility
	bool hasThousandSeparators ()
	{
		return invokeObjcSelf!(bool, "hasThousandSeparators");
	}
	
	void setHasThousandSeparators (bool flag)
	{
		return invokeObjcSelf!(void, "setHasThousandSeparators:", bool)(flag);
	}
	
	NSString thousandSeparator ()
	{
		return invokeObjcSelf!(NSString, "thousandSeparator");
	}
	
	void setThousandSeparator (NSString newSeparator)
	{
		return invokeObjcSelf!(void, "setThousandSeparator:", NSString)(newSeparator);
	}
	
	bool localizesFormat ()
	{
		return invokeObjcSelf!(bool, "localizesFormat");
	}
	
	void setLocalizesFormat (bool flag)
	{
		return invokeObjcSelf!(void, "setLocalizesFormat:", bool)(flag);
	}
	
	NSString format ()
	{
		return invokeObjcSelf!(NSString, "format");
	}
	
	void setFormat (NSString string)
	{
		return invokeObjcSelf!(void, "setFormat:", NSString)(string);
	}
	
	NSAttributedString attributedStringForZero ()
	{
		return invokeObjcSelf!(NSAttributedString, "attributedStringForZero");
	}
	
	void setAttributedStringForZero (NSAttributedString newAttributedString)
	{
		return invokeObjcSelf!(void, "setAttributedStringForZero:", NSAttributedString)(newAttributedString);
	}
	
	NSAttributedString attributedStringForNil ()
	{
		return invokeObjcSelf!(NSAttributedString, "attributedStringForNil");
	}
	
	void setAttributedStringForNil (NSAttributedString newAttributedString)
	{
		return invokeObjcSelf!(void, "setAttributedStringForNil:", NSAttributedString)(newAttributedString);
	}
	
	NSAttributedString attributedStringForNotANumber ()
	{
		return invokeObjcSelf!(NSAttributedString, "attributedStringForNotANumber");
	}
	
	void setAttributedStringForNotANumber (NSAttributedString newAttributedString)
	{
		return invokeObjcSelf!(void, "setAttributedStringForNotANumber:", NSAttributedString)(newAttributedString);
	}
	
	NSDecimalNumberHandler roundingBehavior ()
	{
		return invokeObjcSelf!(NSDecimalNumberHandler, "roundingBehavior");
	}
	
	void setRoundingBehavior (NSDecimalNumberHandler newRoundingBehavior)
	{
		return invokeObjcSelf!(void, "setRoundingBehavior:", NSDecimalNumberHandler)(newRoundingBehavior);
	}
}