Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Crystal reports 使用Crystal语法将Crystal报表中的数字转换为单词_Crystal Reports_Crystal Reports 2008 - Fatal编程技术网

Crystal reports 使用Crystal语法将Crystal报表中的数字转换为单词

Crystal reports 使用Crystal语法将Crystal报表中的数字转换为单词,crystal-reports,crystal-reports-2008,Crystal Reports,Crystal Reports 2008,我正在使用Crystal Report和Crystal语法将数字转换为单词。 我做得很好,不管是10万(以越南盾的货币计算,我们甚至可以兑换上千亿,而不仅仅是1万或数百万)。有人能帮我找到处理这个问题的方法,把任何数量转换成文字吗。 提前感谢您的帮助 //the array value is the wording of number in EN Zero, One, Two, Three... local stringvar array Array_Items:= ["không","một"

我正在使用Crystal Report和Crystal语法将数字转换为单词。 我做得很好,不管是10万(以越南盾的货币计算,我们甚至可以兑换上千亿,而不仅仅是1万或数百万)。有人能帮我找到处理这个问题的方法,把任何数量转换成文字吗。 提前感谢您的帮助

//the array value is the wording of number in EN Zero, One, Two, Three...
local stringvar array Array_Items:= ["không","một","hai","ba","bốn","năm","sáu","bẩy","tám","chín"];

local numbervar x;
local numbervar z;
local stringvar strcuaso;
z:=10000;
local numbervar s10k;
local stringvar strs10k;
local numbervar s1k;
local stringvar strs1k;
local stringvar th;
local numbervar stram;
local stringvar strstram;
local numbervar schuc;
local stringvar strschuc;
local numbervar sdonvi;
local stringvar strsdonvi;

local stringvar a;
x:=50031;
strcuaso:=totext(x,2,"");

s10k:=tonumber(left(strcuaso,1));

s1k:=tonumber(mid(strcuaso,2,1));

if((s10k=1)and(s1k=0))then
strs10k:="mười";
if((s10k=1)and(s1k=0))then
strs1k:="nghìn";
if((s10k>1)and(s1k=0))then
strs10k:=totext(Array_Items[s10k+1])+" mươi ";
if((s10k>1)and(s1k=0))then
strs1k:="nghìn";

if((s10k=1)and(s1k>=1))then
strs10k:="mười ";
if((s10k=1)and(s1k>=1))then
strs1k:=totext(Array_Items[s1k+1])+" nghìn ";
if((s10k>1)and(s1k=1))then
strs10k:=totext(Array_Items[s10k+1])+ " mươi ";
if((s10k>1)and(s1k=1))then
strs1k:=" mốt nghìn ";

if(s10k>1)and(s1k>1)then
strs10k:=totext(Array_Items[s10k+1])+ " mươi ";
if(s10k>1)and(s1k>1)then
strs1k:=totext(Array_Items[s1k+1])+" nghìn ";
stram:=tonumber(mid(strcuaso,3,1));
schuc:=tonumber(mid(strcuaso,4,1));
sdonvi:=tonumber(mid(strcuaso,5,1));
strstram:=" "+totext(Array_Items[stram+1])+" trăm ";
if((schuc=0)AND(sdonvi=0))then
th:="A" ;   
if((schuc=0)AND(sdonvi>=1))then
th:="B";
if((schuc=1)and(sdonvi>0))then
th:="C1";
if((schuc=1)and(sdonvi=0))then
th:="C2";
if((schuc>1)and(sdonvi=0))then
th:="D";
if((schuc>1)and(sdonvi=1))then
th:="E";  //strsdonvi="mốt";
if((schuc>1)and(sdonvi>1))then
strsdonvi:=totext(Array_Items[sdonvi+1])
th:="F";

if(th="A")then
strschuc:="";
if(th="A")then
strsdonvi:="";

if(th="B")then
strschuc:="";
if(th="B")then
strsdonvi:=" linh " +totext(Array_Items[sdonvi+1]);

if(th="C1")then
strschuc:="mười ";
if(th="C1")then
strsdonvi:=totext(Array_Items[sdonvi+1]);
if(th="C2")then
strschuc:="mười";
if(th="C2")then
strsdonvi:="";

if(th="D")then
strschuc:=totext(Array_Items[schuc+1])+" mươi " ;
if(th="D")then
strsdonvi:="";

if(th="E")then
strschuc:=totext(Array_Items[schuc+1])+" mươi " ;
if(th="E")then
strsdonvi:=" mốt ";

if(th="F")then
strschuc:=totext(Array_Items[schuc+1])+" mươi";
if(th="F")then
strsdonvi:=totext(Array_Items[sdonvi+1]);

if(x=z)then
a:="Mười nghìn VND"
else
a:=ProperCase(strs10k)+strs1k+strstram+strschuc+strsdonvi+" VND ";

由于我是一个新的bie,所以我不知道如何在我的帖子中发布我的代码,我在这里将其发布到G-Doc,此代码与欢迎使用堆栈溢出的数量配合得很好!我对Crystal Report无能为力,但如果您在问题中包含您的代码(不在注释中,也不在外部链接中),您会得到更好的响应。以下是一些可能会有所帮助的链接:谢谢,注意下一个问题,因为事实上,截止日期即将到来,所以我没有足够的时间学习/阅读Stackoverflow指南(我的错,对不起)。我在问题中添加了您链接中的代码。如果你能把你母语中的单词翻译成英语,这可能会很有帮助。