Re: NSNumberFormatter and localized format problem
Re: NSNumberFormatter and localized format problem
- Subject: Re: NSNumberFormatter and localized format problem
- From: Kenny Leung <email@hidden>
- Date: Thu, 27 Apr 2006 08:15:46 -0700
Hi All.
This is a basic flaw in the design of formatters in general.
Formatters should have separate, multiple, input formats and a single
output format. Or maybe multiple, localization dependent, output
formats. It is not too difficult to write your own formatter. There
are only a couple of methods to implement. I once wrote a date
formatter using flex that could recognize many different date
formats. If you want to use the parsing infrastructure of
NSNumberFormatter, you could just write a wrapper formatter that
contains multiple NSNumberFormatters, one for each input format you
want, and one for the output format.
-Kenny
On Apr 27, 2006, at 7:25 AM, Tony S. Wu wrote:
exactly.
you have to type in $1 instead of 1 (pointed out by mmalcolm).
this is a problem i encountered before.
i don't know why it's so restricted and couldn't figure out how to
solve it, and ended up abandoning NSNumberFormatterCurrencyStyle.
if anyone could offer a work around, i'd very much appreciate it.
Tony S. Wu
email@hidden
On Apr 27, 2006, at 12:36 AM, Eric Morand wrote:
I've typed exactly the lines you gave to me on my awakeFromNib :
- (void)awakeFromNib
{
NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc]
init] autorelease];
[numberFormatter setFormatterBehavior:
NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
[testTF setFormatter:numberFormatter];
}
(testF being the text field)
Now, each time I type a number (I tried typing "1") in the field
(and the fiel lose the first responder status), I have a sheet
that is displayed with a format error message (in french is says
"Erreur de formatage" that should translate in "Formatting error").
Eric.
Le 27 avr. 06 à 07:34, Tony S. Wu a écrit :
NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc]
init] autorelease];
[numberFormatter setFormatterBehavior:
NSNumberFormatterBehavior10_4];
[numberFormatter setNumberStyle: NSNumberFormatterCurrencyStyle];
should work.
also, a got-cha in NSNumberFormatterCurrencyStyle is that when
the control is set to display with currency style, it has to have
the input data WITH the currency symbol as well.
meaning (in US currency) when a user inputs "24.00" it is
considered inappropriate.
he/she has to input "$24.00".
i encountered this problem with my table column, if anyone finds
anyway around this or my information incorrect, please do let me
know.
Tony S. Wu
email@hidden
On Apr 26, 2006, at 2:05 PM, Eric Morand wrote:
Le 26 avr. 06 à 17:05, Nick Zitzmann a écrit :
On Apr 26, 2006, at 7:42 AM, Eric Morand wrote:
Am I doing something wrong ? How am I suppposed to display
correctly formatted amount in my text field ?
-setNumberStyle: only works if you're using an
NSNumberFormatter that uses the Tiger behavior. Did you try
setting the behavior of the formatter first?
Yes, I've just added it doesn't format anything. If I type 1500
in the field, it remains 1500 instead of 1 500,00 €. I just
don't get it.
Nick Zitzmann
<http://www.chronosnet.com/>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40pobox.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden