بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در تبدیل عدد به حروف
دوستان این کد رو از جایی پیدا کردم . فکر کنم ناقصه
تازه واردم و سر در نمیارم اما میخوام عدد رو به حروف تبدیل کنم.
ممنون میشم کمکم کنید و کد رو عیب یابی کنید.
public String _adad_heji(long paramLong)
throws Exception
{
String str = "";
String[] arrayOfString1 = new String[19];
Arrays.fill(arrayOfString1, "");
String[] arrayOfString2 = new String[9];
Arrays.fill(arrayOfString2, "");
String[] arrayOfString3 = new String[9];
Arrays.fill(arrayOfString3, "");
arrayOfString1[0] = "يك ";
arrayOfString1[1] = "دو ";
arrayOfString1[2] = "سه ";
arrayOfString1[3] = "چهار ";
arrayOfString1[4] = "پنج ";
arrayOfString1[5] = "شش ";
arrayOfString1[6] = "هفت ";
arrayOfString1[7] = "هشت ";
arrayOfString1[8] = "نه ";
arrayOfString1[9] = "ده";
arrayOfString1[10] = "يازده ";
arrayOfString1[11] = "دوازده ";
arrayOfString1[12] = "سيزده ";
arrayOfString1[13] = "چهارده ";
arrayOfString1[14] = "پانزده ";
arrayOfString1[15] = "شانزده ";
arrayOfString1[16] = "هفده ";
arrayOfString1[17] = "هيجده ";
arrayOfString1[18] = "نوزده ";
arrayOfString2[0] = "ده ";
arrayOfString2[1] = "بيست ";
arrayOfString2[2] = "سي ";
arrayOfString2[3] = "چهل ";
arrayOfString2[4] = "پنجاه ";
arrayOfString2[5] = "شصت ";
arrayOfString2[6] = "هفتاد ";
arrayOfString2[7] = "هشتاد ";
arrayOfString2[8] = "نود ";
arrayOfString3[0] = "يكصد ";
arrayOfString3[1] = "دويست ";
arrayOfString3[2] = "سيصد ";
arrayOfString3[3] = "چهارصد ";
arrayOfString3[4] = "پانصد ";
arrayOfString3[5] = "ششصد ";
arrayOfString3[6] = "هفتصد ";
arrayOfString3[7] = "هشتصد ";
arrayOfString3[8] = "نهصد ";
int i = (byte)(int)(paramLong % 10L);
int j = (byte)(int)(paramLong % 100L);
int k = (byte)(int)(paramLong / 100.0D);
if (j < 20)
{
if (k == 0)
str = arrayOfString1[(j + -1)];
if ((k != 0) && (i != 0) && (j != 0))
str = arrayOfString3[(k + -1)] + "و" + arrayOfString1[(j + -1)];
if ((i != 0) || (j != 0));
}
int m;
for (str = arrayOfString3[(k + -1)]; ; str = arrayOfString3[(k + -1)] + "و" + arrayOfString2[(int)((m + -1) / 10.0D)] + "و" + arrayOfString1[(i + -1)])
do
{
return str;
m = (byte)(int)(paramLong % 100L - i);
if ((k == 0) && (i == 0))
str = arrayOfString2[(int)((m + -1) / 10.0D)];
if ((k == 0) && (i != 0))
str = arrayOfString2[(int)((m + -1) / 10.0D)] + "و" + arrayOfString1[(i + -1)];
if ((k == 0) || (i != 0))
continue;
str = arrayOfString3[(k + -1)] + "و" + arrayOfString2[(int)((m + -1) / 10.0D)];
}
while ((k == 0) || (i == 0));
}
public String _class_globals()
throws Exception
{
return "";
}
public String _heji_adad(long paramLong)
throws Exception
{
String str1 = "";
String str2 = BA.NumberToString(paramLong);
int i = str2.length();
if (paramLong == 0L)
str1 = "صفر";
if ((paramLong >= 1L) && (paramLong <= 999L))
str1 = _adad_heji(paramLong);
if ((paramLong >= 1000L) && (paramLong <= 999999L))
{
if (paramLong % 1000L == 0L)
str1 = _adad_heji(()(paramLong / 1000.0D)) + "هزار";
if (paramLong % 1000L != 0L)
str1 = _adad_heji(()(paramLong / 1000.0D)) + "هزار" + "و" + _adad_heji(paramLong % 1000L);
}
if ((paramLong >= 1000000L) && (paramLong <= 999999999L))
{
int i1 = (int)Double.parseDouble(str2.substring(i + -3));
int i2 = (int)Double.parseDouble(str2.substring(-1 + (i + -5), -1 + (3 + (i + -5))));
int i3 = (int)Double.parseDouble(str2.substring(0, i + -6));
if ((i1 == 0) && (i2 == 0))
str1 = _adad_heji(i3) + "میلیون ";
if ((i1 == 0) && (i2 != 0))
str1 = _adad_heji(i3) + "میلیون " + "و " + _adad_heji(i2) + "هزار ";
if ((i1 != 0) && (i2 == 0))
str1 = _adad_heji(i3) + "میلیون " + "و " + _adad_heji(i1);
if ((i1 != 0) && (i2 != 0))
str1 = _adad_heji(i3) + "میلیون " + "و " + _adad_heji(i2) + "هزار " + "و " + _adad_heji(i1);
}
if ((paramLong >= 1000000000L) && (paramLong <= 999999999999L))
{
int j = (int)Double.parseDouble(str2.substring(1 + (i + -3), i));
int k = (int)Double.parseDouble(str2.substring(-1 + (i + -5), -1 + (3 + (i + -5))));
int m = (int)Double.parseDouble(str2.substring(-1 + (i + -8), -1 + (3 + (i + -8))));
int n = (int)Double.parseDouble(str2.substring(0, i + -9));
if ((j == 0) && (k == 0) && (m == 0))
str1 = _adad_heji(n) + "میلیارد";
if ((j == 0) && (k == 0) && (m != 0))
str1 = _adad_heji(n) + "میلیارد" + "و" + _adad_heji(m) + "میلیون";
if ((j == 0) && (k != 0) && (m != 0))
str1 = _adad_heji(n) + "میلیارد" + "و" + _adad_heji(m) + "میلیون" + "و" + _adad_heji(k) + "هزار";
if ((j != 0) && (k != 0) && (m != 0))
str1 = _adad_heji(n) + "میلیارد" + "و" + _adad_heji(m) + "میلیون" + "و" + _adad_heji(k) + "هزار" + "و" + _adad_heji(j);
}
if (paramLong >= 999999999999L)
str1 = "عدد وارد شده خارج از محدوده مي باشد ";
return str1;
}
0
0
از دوستان کسی نیست کمک کنه؟؟
خیلی احتیاج دارم!! (10 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .