AR# 51331

Vivado - ISE デザインを Vivado にインポートすると、「java.lang.NumberFormatException: For input string: ''0,8"」という JAVA エラーが発生する

説明

ISE デザインを Vivado Design Suite にインポートすると次のようなエラー メッセージが表示されます。

8/10/12 4:58:27 PM
java.lang.NumberFormatException: For input string: "0,8"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1241)

at java.lang.Float.parseFloat(Float.java:452)
at ui.views.y.z.cIG(SourceFile:1001)
at ui.views.y.W.dKh(SourceFile:2138)

at ui.views.I.a.dKh(SourceFile:1351)
at ui.views.d.h.a.b.aKq(SourceFile:20)
at ui.frmwork.a.dHp(SourceFile:55)
at ui.h.O.su(SourceFile:555)
at ui.h.O.cTW(SourceFile:548)
at ui.views.y.z.cTW(SourceFile:1396)
at ui.views.y.W.cTW(SourceFile:2583)
at ui.views.I.a.c(SourceFile:924)
at ui.views.I.z.b(SourceFile:77)
at ui.views.I.z.c(SourceFile:1210)
at ui.views.I.q.f(SourceFile:1547)
at com.jidesoft.document.DocumentComponent.dS(Unknown Source)
at com.jidesoft.document.DocumentPane.h(Unknown Source)
at com.jidesoft.document.DocumentPane.b(Unknown Source)
at com.jidesoft.document.DocumentPane.bx(Unknown Source)
at com.jidesoft.document.DocumentPane$DocumentPaneLayoutPersistence.a(Unknown Source)
at com.jidesoft.swing.AbstractLayoutPersistence.fe(Unknown Source)
at ui.views.a.egI(SourceFile:268)
at ui.views.bA.egI(SourceFile:345)
at ui.views.u.ehx(SourceFile:918)
at ui.views.u.r(SourceFile:839)
at ui.views.E.Y.L(SourceFile:680)
at ui.views.E.Y.y(SourceFile:641)
at ui.views.E.ar.t(SourceFile:48)
at ui.views.E.ap.D(SourceFile:304)
at ui.views.E.ap.a(SourceFile:240)
at ui.frmwork.ae.d(SourceFile:35)
at ui.frmwork.HTclEventBroker.a(SourceFile:223)
at ui.frmwork.ac.run(SourceFile:298)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:241)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at ui.frmwork.v.dispatchEvent(SourceFile:73)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

ソリューション

コンピューターの地域および言語設定に、小数点の区切り文字にピリオドではなくカンマが使用されている言語が設定されていると、この問題が発生します。上記の例では、ドイツ語が設定されており、小数点の区切り文字にピリオドではなくカンマが使用されています。このため、「input string: ''0,8''」が浮動小数点値としてレポートされています。

java.lang.NumberFormatException: For input string: "0,8"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1241)

この例では地域および言語設定をアメリカ英語に変更すると、この問題は解決するのですが、この変更はカスタマーのコンピューターにグローバルに適用されます。このカスタマーは、Vivado の起動スクリプトに次のコードを追加して Vivado Design Suite だけにアメリカ英語を設定でし、問題に対処しました。

追加するのは次のコードです。

export LC_CTYPE="en_US.UTF-8" 
export LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8

次のコードを上記のコードに置き換えます。

LANG=de_DE.UTF-8 
LC_NUMERIC="de_DE.UTF-8"
AR# 51331
日付 05/22/2013
ステータス アクティブ
種類 一般
ツール