Description
The following type of errors occur when I import an ISE design into the 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)
Solution
This error occurs if the regional settings of the computer being used are set to a language which uses a comma instead of a period (full-stop) to delineate the decimal position. In the example above, the Regional and Language settings were set to German, which uses commas instead of periods (full-stops) for decimal places. Hence, the "input string: "0,8"" being reported for a Floating Decimal number.
java.lang.NumberFormatException: For input string: "0,8"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1241)
In this example, modifying the supported Regional and Language settings to use US-English resolved this issue, but this is at a global level for the customer machine. The specific customer found that if they added the following to their Vivado startup script, it handled the issue for them locally by setting US-English for just the Vivado Design Suite.
Add the following:
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
to replace
LANG=de_DE.UTF-8
LC_NUMERIC="de_DE.UTF-8"