2016-05-05 7 views
2

Warum Globalize 9,999.99 in Englisch lokal (en-CA), aber nicht 9 999,99 in Französisch lokal (fr-CA). Ist der Speicherplatz in diesem Szenario das Problem?Warum repliziert das jQuery-Plugin Globalize 9.999,99 in Englisch lokal (en-CA), aber nicht 9 999,99 in Französisch lokal?

Das passiert, wenn ich die numberParser Methode aufrufen. NaN wird zurückgegeben, wenn ich 9 999,99 gebe, aber das sollte akzeptiert werden, da der Formatierer das zurückgibt.

+0

Hey Rushino, sorry, wenn meine Antwort in der Frage [# 613] (https://github.com/jquery/globalize/issues/613) war nicht klar. Ich habe gerade hier geantwortet, in der Hoffnung, dass es hilft, es zu klären. –

Antwort

2

Kurze Antwort Thinking-out-of-the-Box: Da aktuelle Globeize fehlt eine Parser-Funktion namens "Lose Matching" https://github.com/jquery/globalize/issues/292.

Kurze spezifische Antwort: Weil Leerzeichen und Leerstelle zwei verschiedene Zeichen sind. Der "Raum" des fr-CA-Gruppierungstrennzeichens ist kein reguläres Leerzeichen (Bytecode 32 = hex 20), aber es ist ein Leerzeichen (Bytecode 160 = hex A0). Versuchen Sie, Ihre Eingabe mit input.replace("\x20", "\xa0") zu bereinigen, bevor Sie sie dem Parser als Workaround zur Verfügung stellen.

Sie können detaillierte Informationen finden Sie unter https://github.com/jquery/globalize/issues/288

Ich hoffe, das hilft :)

+0

Danke! Ist eine Reparatur geplant? (Haben Sie nichts dagegen, wenn Sie nur wissen wollten, ob es einen Plan gab) – Rushino

+0

value.replace (//g, '') funktioniert, aber Ihre Version hat keine Idee? Auch was bedeutet xa0? – Rushino

+0

Über ein Update, zur Zeit zeigte niemand Interesse an der Arbeit an diesem Feature, aber ich würde gerne Anleitung für jeden, der will (um zu beginnen, was in # 292) ... –