On 2018-04-06 13:17, Klaus major-k via use-livecode wrote:
Hi friends,
maybe I have a little understanding problem with numberformat.
Looks like this is "temporary/fleeting"?
Meanwhile I worked around this with the FORMAT() function,
but would like to understand the problem.
I have this button script:
###############################################################
## Neccessary function, since in most non-enlsih speaking countries
like germany
## we use the COMMA as a decimal delimiter
## Neccessary for calculations
## tZahl = tNumber
## ohne_komma = without comma
function ohne_komma tZahl
replace "," with "." in tZahl
return tZahl
end ohne_komma
## mit_komma = with comma
## Neccessary for displaying numbers
function mit_komma tZahl
replace "." with "," in tZahl
return tZahl
end mit_komma
on mouseUp pMouseButton
put 10 into menge ## amount
put "2,3" into preis ## price
set the numberformat to 0.00
put ohne_komma(menge) into menge
put ohne_komma(preis) into preis
put menge * preis into ergebnis ## result
##!!!
answer ergebnis ## -> 23.00
answer mit_komma(ergebnis) ## -> 23
##!!!
end mouseUp
###############################################################
The last 2 lines of the mouseup handler are puzzling me, what do I not
get?
Thanks for any insight!
The numberFormat is a local property and is only used when a number gets
converted to a string...
put menge * preis into ergebnis -- ergebnis is a number
answer ergebnis -- ergebnis is converted to a string using the
numberFormat 0.00 and passed to 'answer'.
In the last line 'answer mit_komma(ergebnis)' you are passing ergebnis
(a number) to a function. In the function, that number is converted to a
string using the default numberFormat (as it is local to handlers, and
you have not set it) as you are using 'replace' on it.
So, the 'issue' here is the locality of numberFormat.
Warmest Regards,
Mark.
--
Mark Waddingham ~ m...@livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode