2017-01-24 18 views
-4

Я пытаюсь преобразовать сумму из чисел в строку. При преобразовании 3070 в three thousand seventy only Я заметил недостаток в коде, выход должен быть three thousand seventy only, но вместо этого выход Three Thousand Rupees only.вопрос с переводом суммы, от цифр до персонажа

Я получил код из Интернета,

Когда я отладки кода, я вижу следующие строки

if ((rupees/1000) > 0) 
     { 
      res = rupees/1000; 
      rupees = rupees % 1000; 
      result = result + ' ' + rupeestowords(res) + " Thousand"; 
     } 

Проблема возникает в этом коде, поскольку 1010,1020,.....,3070,3080,3090,4010,4020.etc все числа% до 1000, это означает, что если я войду в этот номер, выход будет неправильным,

Я не могу получить правильную логику здесь. Думаю, мне нужно снова проверить рупии внутри другого условия.

код ниже X Тысячи

if ((rupees/100) > 0) 
     { 
      res = rupees/100; 
      rupees = rupees % 100; 
      result = result + ' ' + rupeestowords(res) + " Hundred"; 
     } 
     if ((rupees % 10) > 0) 
     { 
      res = rupees % 100; 
      result = result + " " + rupeestowords(res); 
     } 
     result = result + ' ' + " Rupees only"; 
     return result; 
    } 
+1

Я думаю, вам нужно добавить следующее преобразование, а также. rupeestowords (рупии) –

+0

вы поможете мне решить эту проблему? Вы можете показать мне ответ –

+1

Возможный дубликат [Как преобразовать целое число в его вербальное представление?] (Http://stackoverflow.com/questions/554314/how-can-i-convert-an-integer- в его словесном представлении) –

ответ

1

В этом коде:

if ((rupees % 10) > 0) 
{ 
    res = rupees % 100; 
    result = result + " " + rupeestowords(res); 
} 

Эта линия является неправильным:

res = rupees % 100; 

Должно быть

res = rupees/10; 

Также следующая строка является неправильным:

if ((rupees % 10) > 0) 

Должно быть:

if ((rupees/10) > 0) 

Выход:

if ((rupees/10) > 0) 
{ 
    res = rupees % 10; 
    result = result + " " + rupeestowords(res); 
} 
+0

еще не происходит внутри цикла –

+0

редактирования моего ответа, есть еще одна неверная строка - вы выбрали какой-то плохой код, чтобы использовать –

+0

теперь я получаю трех тысяч пять рупий только когда мой вход 3050 –

 Смежные вопросы

  • Нет связанных вопросов^_^