<div dir="ltr">Thanks to all. I think I have found my answer. Suppose in xepersian, \decimalseparator stands for unicode character 066B, then the following code does what I want:<br><br><br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br>
\def\@writeDecimals#1{%<br> \ifx\@xyDecimals\@empty% take value as is<br> \def\@tempa{#1}% write only if not empty<br> \ifx\@tempa\@empty% write nothing<br> \else<br> \ifPst@comma{,}\else\decimalseparator\fi%<br>
#1%<br> \fi%<br> \else% write only \xy@decimals<br> \ifnum\@xyDecimals>\@zero<br> \ifPst@comma{,}\else\deciamlseparator\fi<br> \@Reset@digitcounter<br> \expandafter\@process@digits#1*;<br>
\fi%<br> \fi%<br>}<br>%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br><br>Thanks<br></div>