Een file op de A12 is nooit grappig...
oogjes open, snaveltjes dicht
Een file op de A12 is nooit grappig...
"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert
Niemand ervaring met dit euvel?
Een file op de A12 is nooit grappig...
Nog niet. Ik kan straks thuis wel eens even kijken.MrHighStone schreef op 03 januari 2003 @ 16:41:
Heb de reference online bekeken, maar kom er niet uit, toch bedankt voor je reactie.
Niemand ervaring met dit euvel?
"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert
Een file op de A12 is nooit grappig...
Een file op de A12 is nooit grappig...
MrHighStone schreef op 03 januari 2003 @ 17:05:
Nee, dit doet mi precies het omgedraaide, een double converteren naar een string, het is juist de bedoeling een string te converten naar een double, zodat er mee gerekend kan worden.
ziet er imho naar uit dat er echt toch een numbervalue van maaktNumberFormat
Creates a custom-formatted number value. If no mask is specified, returns the value as an integer with a thousands separator.
See also DecimalFormat, DollarFormat, and IsNumeric.
Wat er gebeurt is het volgende:
Uit een textveld in een database wordt een decimale waarde gehaald. Vervolgens wordt deze waarde vergeleken met een andere decimale waarde (als a > b dan ...).
Haal ik de waarde (zeg a) door een val() dan gaat ie goed, maar maakt ie er integers van (51,85 wordt dan 51) maar voert ie de if wel uit, doe ik dit niet, dan gaat het mis...
Een file op de A12 is nooit grappig...
laat eens een stukje code zienMrHighStone schreef op 03 January 2003 @ 17:29:
En toch gaat het niet werken... Nee zonder dollen, heb het reeds geprobeerd, maar zonder resultaat.
Wat er gebeurt is het volgende:
Uit een textveld in een database wordt een decimale waarde gehaald. Vervolgens wordt deze waarde vergeleken met een andere decimale waarde (als a > b dan ...).
Haal ik de waarde (zeg a) door een val() dan gaat ie goed, maar maakt ie er integers van (51,85 wordt dan 51) maar voert ie de if wel uit, doe ik dit niet, dan gaat het mis...
Waar ik naar op zoek ben is 'gewoon' een StringToFloat functie...
Een file op de A12 is nooit grappig...
oogjes open, snaveltjes dicht
Een file op de A12 is nooit grappig...
1
2
3
4
5
6
| <cfoutput> #val( '999' )#<br> #val( '99.9' )#<br> #val( '9.99' )#<br> #val( '0.999' ) + 1#<br> </cfoutput> |
output:
1
2
3
4
| 999 99.9 9.99 1.999 |
[ Voor 25% gewijzigd door edie op 03-01-2003 20:06 ]
"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert
CF begint te piepen over een type mismatch.
Vervang voor de grap eens je .'en (punten) in ,'s (komma's); dan gaat ie mis...
rickmans: denk niet dat het zin heeft de listing te posten, het probleem blijft hetzelfde, er is mi geen functie die StringToFloat kan uitvoeren.
Een file op de A12 is nooit grappig...
Maar het gaat dus mis doordat je komma's gebruikt? Dan zou je toch ook een replace() kunnen uitvoeren en dan de komma vervangen door een punt? Even nog een ander vraagje: uit wat voor DB komt het zetten?MrHighStone schreef op 03 januari 2003 @ 23:21:
eddie19: thanks voor het checken, helaas gaat de laatste regel mis #val( '0.999' ) + 1#
CF begint te piepen over een type mismatch.
Vervang voor de grap eens je .'en (punten) in ,'s (komma's); dan gaat ie mis...
rickmans: denk niet dat het zin heeft de listing te posten, het probleem blijft hetzelfde, er is mi geen functie die StringToFloat kan uitvoeren.
Het komt uit een SQL Server 2000 database, waarden worden opgeslagen als 'money' (hier: 1,99)en worden in coldfusion vervolgens in een variabele gestopt (nu: 1.99); op zich logisch natuurlijk.
Onder het motto beter een ranzige oplossing dan geen oplossing, dus maar even een replace toepassen op , naar .
Dank voor het meedenken allemaal, en mochten jullie nog opmerkingen hebben, of een elegantere manier, dan houd ik me aanbevolen.
Een file op de A12 is nooit grappig...
Hoewel dit voor currencywaarden geldt, weet ik niet wat de gevolgen kunnen zijn voor complexere double waarden. In elk geval voldoet dit voor mij, omdat het hier om currency berekeningen gaat!
Een file op de A12 is nooit grappig...
http://www.cfcertificatio...ion_Functions/lr3_175.htm
http://www.cfcertificatio...ion_Functions/lr3_171.htm
Bedacht me ineens dat er ook nog wel locales waren voor ander number functions
En als je nou je systeem instellingen veranderdt, zodat een , een . is?MrHighStone schreef op 04 January 2003 @ 12:57:
rickmans: daar heb ik net ook mee zitten experimenteren.
Het komt uit een SQL Server 2000 database, waarden worden opgeslagen als 'money' (hier: 1,99)
Je kunt in de Query Analyzer namelijk instellingen welke setttings je wilt gebruiken om currency, numbers, dates and times weer te geven. (Tools->Options->Connections)
[ Voor 24% gewijzigd door edie op 04-01-2003 15:33 ]
"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert