Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[JAVA/Access] Valutaveld werkt niet lekker

Pagina: 1
Acties:
  • 472 views sinds 30-01-2008
  • Reageer

  • Teeno
  • Registratie: Juni 2007
  • Laatst online: 19-11 12:23
Waarschijnlijk is het iets erg basic, maar ik kom er helaas niet uit.

In mijn database heb ik een valutaveld, welke ik in mijn programma in een tabel laat zien.
Het veld in de database wordt netjes weergegeven als x.xxx,xx (1.250,60), in mijn programma moet ik het doen met xxxx.xxxx (1250.6000).. zo komt hij in het resultset terecht, dus het ligt niet aan de tabel

Weet iemand waar dit zit, of moet ik dit in mijn programma laten converteren?

[ Voor 8% gewijzigd door Teeno op 13-01-2008 18:18 ]


  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Check eens de java.text.DecimalFormat API :)

  • Teeno
  • Registratie: Juni 2007
  • Laatst online: 19-11 12:23
BalusC schreef op zondag 13 januari 2008 @ 18:43:
Check eens de java.text.DecimalFormat API :)
Bedankt voor de tip, schijnt te werken als ik een println(df.format(23424.234)) doe, maar met welk datatype werkt ie? Kan dit in de API nergens vinden, ik moet vanuit de resultset een getFloat/getDouble/getObject oid doen, maar bij alles krijg ik de volgende exceptie;

java.sql.SQLException: [Microsoft][ODBC Microsoft Access-stuurprogramma]Ongeldige tekenwaarde voor castspecificatie bij kolomnummer 8 (Price)

df.format(results.get*****(i)) is het stukje code.

Als ik df.format(3333333) meegeef krijg ik in de tabel bij alle records € 3.333.333,00, dat lijkt me dus prima in orde

  • Teeno
  • Registratie: Juni 2007
  • Laatst online: 19-11 12:23
schopje? ik krijg het na een hoop gegoogle en java2s.com niet voor elkaar om een valutawaarde om te zetten naar een decimalformat. Wat is de beste manier van benaderen?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 20-11 23:37

TeeDee

CQB 241

Afaik heeft Java ook een NumberFormat waar je ook een Locale aan mee kan geven. Deze zit ook in java.text.
Praktisch hetzelfde..

Java:
1
DecimalFormat Currency = new DecimalFormat("#0,00");

Zou imo prima moeten zijn.
Teeno schreef op zondag 13 januari 2008 @ 19:34:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access-stuurprogramma]Ongeldige tekenwaarde voor castspecificatie bij kolomnummer 8 (Price)
Wat heeft die column als datatype?

[ Voor 66% gewijzigd door TeeDee op 17-01-2008 10:40 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 13:07
Valuta, is dat niet gewoon decimal dan in java?

Roomba E5 te koop


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Probeer eens:
Java:
1
df.format(results.getBigDecimal(i).doubleValue()) 

Theoretisch gaat hierbij wel precisie verloren, maar dat merk je pas bij zeer grote getallen (double is 16 bits).

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • Teeno
  • Registratie: Juni 2007
  • Laatst online: 19-11 12:23
pedorus schreef op donderdag 17 januari 2008 @ 14:20:
Probeer eens:
Java:
1
df.format(results.getBigDecimal(i).doubleValue()) 

Theoretisch gaat hierbij wel precisie verloren, maar dat merk je pas bij zeer grote getallen (double is 16 bits).
Dit schijnt, icm "#,###.00" als format... zeer goed te werken vooralsnog.

Bedankt voor de tip.. ik neem aan dat het bij getallen onder de 1 miljoen wel aardig accuraat is

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Teeno schreef op donderdag 17 januari 2008 @ 16:33:
Bedankt voor de tip.. ik neem aan dat het bij getallen onder de 1 miljoen wel aardig accuraat is
Tot zo'n 15 digits zou dit goed moeten gaan. Dus onder de 1 miljoen moet het zeker wel goed gaan. :)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten

Pagina: 1