Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Persian Numbers
muzy
Hi I am new to Birt. I am using Birt with Eclipse Indigo.
I am using a table in the report. The table will get values from the dataset. I want to convert the numbers to Persian numbers. I tried using java script but it doesn't work.
var number = dataSetRow["invoice-number"];
var farsiNumber=new Array();
farsiNumber[0]='\u06f0';
farsiNumber[1]='\u06f1';
farsiNumber[2]='\u06f2';
farsiNumber[3]='\u06f3';
farsiNumber[4]='\u06f4';
farsiNumber[5]='\u06f5';
farsiNumber[6]='\u06f6';
farsiNumber[7]='\u06f7';
farsiNumber[8]='\u06f8';
farsiNumber[9]='\u06f9';
var outputNumber = "";
for(var i=0;i<number.length;i++) {
var ch = number.charAt(i);
var index = farsiNumber[ch];
if(ch >= 0 && ch <= 9)
outputNumber = outputNumber+index;
else
outputNumber = outputNumber+ch;
}
this.data = outputNumber;
Is there any other way of doing it or should I create a plugin for the Birt Functions plugin to do this.
Find more posts tagged with
Comments
georgeh12
Remove this line:<br />
<blockquote class='ipsBlockquote' data-author="'muzy'" data-cid="101591" data-time="1338638731" data-date="02 June 2012 - 05:05 AM"><p>
this.data = outputNumber;<br /></p></blockquote>
muzy
Its not working even after removing this.data = outputNumber;
georgeh12
<blockquote class='ipsBlockquote' data-author="'muzy'" data-cid="101824" data-time="1338879549" data-date="04 June 2012 - 11:59 PM"><p>
Its not working even after removing this.data = outputNumber;<br /></p></blockquote>
Try switching to Arial Unicode MS font. Here is my Expression Builder entry:<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>var number = '5 hamburger 9';
var farsiNumber=new Array();
farsiNumber[0]='\u06f0';
farsiNumber[1]='\u06f1';
farsiNumber[2]='\u06f2';
farsiNumber[3]='\u06f3';
farsiNumber[4]='\u06f4';
farsiNumber[5]='\u06f5';
farsiNumber[6]='\u06f6';
farsiNumber[7]='\u06f7';
farsiNumber[8]='\u06f8';
farsiNumber[9]='\u06f9';
var outputNumber = "";
for(var i=0;i<number.length;i++) {
var ch = number.charAt(i);
var index = farsiNumber[ch];
if(ch >= 0 && ch <= 9 && typeof(index) != 'undefined')
outputNumber = outputNumber+index;
else
outputNumber = outputNumber+ch;
}</pre>
Resulting in the following output:<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>? hamburger ?</pre>
muzy
Thanks georgeh12. It works fine.<br />
<br />
<br />
<blockquote class='ipsBlockquote' data-author="'georgeh12'" data-cid="101885" data-time="1338913142" data-date="05 June 2012 - 09:19 AM"><p>
Try switching to Arial Unicode MS font. Here is my Expression Builder entry:<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>var number = '5 hamburger 9';
var farsiNumber=new Array();
farsiNumber[0]='\u06f0';
farsiNumber[1]='\u06f1';
farsiNumber[2]='\u06f2';
farsiNumber[3]='\u06f3';
farsiNumber[4]='\u06f4';
farsiNumber[5]='\u06f5';
farsiNumber[6]='\u06f6';
farsiNumber[7]='\u06f7';
farsiNumber[8]='\u06f8';
farsiNumber[9]='\u06f9';
var outputNumber = "";
for(var i=0;i<number.length;i++) {
var ch = number.charAt(i);
var index = farsiNumber[ch];
if(ch >= 0 && ch <= 9 && typeof(index) != 'undefined')
outputNumber = outputNumber+index;
else
outputNumber = outputNumber+ch;
}</pre>
Resulting in the following output:<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>? hamburger ?</pre></p></blockquote>