Can someone explain what's going on here?
If I try to get the output for the following string:
fn!char(65020) & " 21,245.00"
the result I get is:
﷼ 21,245.00
Discussion posts and replies are publicly visible
Hi Marco it was interesting for me. I did some experiment on this, observations are as follows.
There are two governing factors causing this behavior. 1. Currency Sign and 2. Appian Function using for concatenation
fn!char(65020) is displays the Arabic Currency Sign (Riyal Sign) using the unicode 65020 (which is for decimal).
Since it was the sign for currency, it look for the number and displays according to the Arabic syntax i.e, from right to left
Example:
fn!char(65020) & " 21,245.00" returns "﷼ 21,245.00" "21,245.00 "& fn!char(65020) returns "﷼ 21,245.00" concat(fn!char(65020)," ",5678 ) returns "﷼ 21245"
In case of the alphanumeric, if the number is first(left to right) followed by text, it picks the number follows Arabic syntax i.e, from right to left and appends the remaining alphabets.
concat(fn!char(65020)," 299dast") returns "﷼ 299dast" fn!char(65020) & "299dast" returns "﷼ 299dast"
In case of the alphanumeric, if alphabets are first(left to right) followed by number, it will treat the alphanumeric as text not as number. S0 it will display in the same format.
fn!char(65020) & "dast456" returns "﷼dast456" concat("dast456",fn!char(65020) ) returns "dast456﷼" concat(fn!char(65020)," dast456" ) returns "﷼ dast456"
concat("456dast",fn!char(65020) ) returns "456dast﷼"
Note: Thought the aphanumeric starts with number, due to concat() and the order, it returns "456dast﷼"
Above observations can be noticed with any language specific currency sign.
For example take the INR (India's currency sign). Syntax starts from left to right.
fn!char(8377)&" 123" returns "₹ 123" fn!char(8377)&" 123dast" returns "₹ 123dast" fn!char(8377) & " 21,245.00" returns "₹ 21,245.00" "21,245.00 "& fn!char(8377) returns "21,245.00 ₹" concat(fn!char(8377)," ",21245.00 ) returns "₹ 21245" concat(fn!char(8377)," 299dast") returns "₹ 299dast" fn!char(8377) & "299dast" returns "₹299dast"
fn!char(8377) & "dast456" returns "₹dast456" concat("dast456",fn!char(8377) ) returns "dast456₹" concat(fn!char(8377)," dast456" ) returns "₹ dast456"