[英]How do I convert a String to Double in Java using a specific locale?
[英]How do I convert a String to Double in GWT using a specific locale?
在Java中,這很容易做到:
NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
myNumber = nf.parse(myString);
但是,我似乎無法在GWT中執行相同的操作。 首先,我將語言環境合並到MyModule.gwt.xml中
<inherits name="com.google.gwt.i18n.I18N"/>
<extend-property name="locale" values="sl_SI"/>
還存在NumberFormat類:com.google.gwt.i18n.client.NumberFormat; 使用“默認”語言環境。 此處的默認表示固定的語言環境,與“ en_US”非常相似,瀏覽器或應用程序未選擇默認的語言環境。
似乎沒有辦法將NumberFormat設置為接受其他語言環境。 坦白說,那我什么都沒看到。
我想念什么嗎?
嘗試將<meta name='gwt:property' content='locale=sl_SI' />
到html主機頁面
這是為什么這樣工作的解釋: https : //stackoverflow.com/a/16295300/572830
以下是更廣泛和詳細的說明: https : //developers.google.com/web-toolkit/doc/latest/DevGuideI18nLocale
不幸的是,不是。 客戶端上特定於語言環境的代碼在GWT中非常有限。 您可以嘗試使用本機JavaScript(具有所有缺點)。
但是我發現在這種情況下僅調用服務器方法會更容易。 首先,我通常不必轉換許多值,並且我需要此方法的速率很低,因此在這種情況下可以承受通過網絡發送字節的過大殺傷力。
如果這不是您的選擇,而您只需要能夠解析這樣的數字,我建議您將語言環境的格式分開。 如果您采用這種方法,這比看起來容易:
'[^0-9' + decimalPoint + ']'
.
這允許解析。 對於格式化,我沒有一個好的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.