Q: BigDecimal(String) NumberFormatException
Bonjour.
La mention d'erreur run-time suivante est surprenante : NumberFormatException dans un contexte pourtant très basique :
Dans le constructeur de ma classe #1 (bien instanciée avant la classe #2)
Code:
1 2 3 4 5 6 7 8 9 10 11
| public class MonModèleDeTable_1 extends AbstractTableModel
{
public String[][] caractPuissMach =
{
{" 7,5", " 20,5", "50", " "},
{" 10", " 23", "50", " "},
{" 22", " 48,7", "50", " "},
{" 33", " 70,5", "50", " "},
{" 50", " 84", "50", " "},
{" 70", "114", "50", " "},
... |
Dans le constructeur de ma classe #2
Code:
1 2 3 4 5 6
| MonModèleDeTable_2(MonModèleDeTable_1 monModèleTable_1)
{
BigDecimal bd8 = new BigDecimal("77");
String dsjfh = monModèleTable_1.caractPuissMach[5][0];
BigDecimal bd0 = new BigDecimal(dsjfh); // NumberFormatException
... |
Tout compile sans mention d'erreur, mais à l'exécution de l'application :
- 'bd8' devient bien '77'
- 'dsjfh' devient bien '70'
- 'bd0' cause l'erreur
Citation:
Exception in thread "main" java.lang.NumberFormatException
at java.math.BigDecimal.<init>(BigDecimal.java:470)
at java.math.BigDecimal.<init>(BigDecimal.java:739)
at choixpuissmachcogén.monotone.MonModèleDeTable_2.<init>(MonModèleDeTable_2.java:39)
La valeur du String n'est apparemment pas une représentation valable pour un bigDecimal ...
Avec " 70,0" : idem.
Une âme empatique connectée à un cerveau dont tous les synapses fonctionnent encore, devinerait la bonne raison et le bon remède ?
Bonnes fête de Noël et bonne année 2014.