获取值并使用jquery将其转换为单词

时间:2018-06-11 12:10:10

标签: javascript jquery html

如何从id="value"获取该号码并将其转换为其字词格式,并在div标签中显示id="word"

我正在将数字转换为印度货币类型中的相应单词。  请原谅我这是一个愚蠢的问题,因为我是jquery的初学者。

$(document).ready(function(){
	var amount = document.getElementById('value').value;
  var fraction = Math.round(frac(amount) * 100);
  var f_text = "";
  if (fraction > 0) {
    f_text = "AND " + convert_number(fraction) + " Paisa";
  }
  var words = convert_number(amount) + " Rupee " + f_text + " Only";
	document.getElementById("word").innerHTML = words;
  return convert_number(amount) + " Rupee " + f_text + " Only";
});

function frac(f) {
  return f % 1;
}

function convert_number(number) {
  if ((number < 0) || (number > 999999999)) {
    return "NUMBER OUT OF RANGE!";
  }
  var Gn = Math.floor(number / 10000000); number -= Gn * 10000000; var kn = Math.floor(number / 100000); number -= kn * 100000; var Hn = Math.floor(number / 1000); number -= Hn * 1000; var Dn = Math.floor(number / 100); number = number % 100; var tn = Math.floor(number / 10); var one = Math.floor(number % 10); var res = "";
  if (Gn > 0) {
    res += (convert_number(Gn) + " Crore");
  }
  if (kn > 0) {
    res += (((res == "") ? "" : " ") +
            convert_number(kn) + " Lakh");
  }
  if (Hn > 0) {
    res += (((res == "") ? "" : " ") +
            convert_number(Hn) + " Thousand");
  }
  if (Dn) {
    res += (((res == "") ? "" : " ") +
            convert_number(Dn) + " Hundred");
  }
  var ones = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"); var tens = Array("", "", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety");
  if (tn > 0 || one > 0) {
    if (!(res == "")) {
      res += " ";
    }
    if (tn < 2) {
      res += ones[tn * 10 + one];
    }
    else {
      res += tens[tn];
      if (one > 0) {
        res += (" " + ones[one]);
      }
    }
  }
  if (res == "") {
    res = "Zero";
  }
  return res;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="value">116554</p>
<div id="word"></div>

$(document).ready(function(){
  var amount = document.getElementById('value').value;
  var fraction = Math.round(frac(amount) * 100);
  var f_text = "";
  if (fraction > 0) {
    f_text = "AND " + convert_number(fraction) + " Paisa";
  }
  var words = convert_number(amount) + " Rupee " + f_text + " Only";
  document.getElementById("word").innerHTML = words;
  return convert_number(amount) + " Rupee " + f_text + " Only";
});
function frac(f) {
  return f % 1;
}
function convert_number(number) {
  if ((number < 0) || (number > 999999999)) {
    return "NUMBER OUT OF RANGE!";
  }
  var Gn = Math.floor(number / 10000000); number -= Gn * 10000000; var kn = Math.floor(number / 100000); number -= kn * 100000; var Hn = Math.floor(number / 1000); number -= Hn * 1000; var Dn = Math.floor(number / 100); number = number % 100; var tn = Math.floor(number / 10); var one = Math.floor(number % 10); var res = "";
  if (Gn > 0) {
    res += (convert_number(Gn) + " Crore");
  }
  if (kn > 0) {
    res += (((res == "") ? "" : " ") +
            convert_number(kn) + " Lakh");
  }
  if (Hn > 0) {
    res += (((res == "") ? "" : " ") +
            convert_number(Hn) + " Thousand");
  }
  if (Dn) {
    res += (((res == "") ? "" : " ") +
            convert_number(Dn) + " Hundred");
  var ones = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen");
  var tens = Array("", "", "Twenty", "Thirty", "Fourty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety");
  if (tn > 0 || one > 0) {
    if (!(res == "")) {
      res += " ";
    }
    if (tn < 2) {
      res += ones[tn * 10 + one];
    }
    else {
      res += tens[tn];
      if (one > 0) {
        res += (" " + ones[one]);
      }
    }
  }
  if (res == "") {
    res = "Zero";
  }
  return res;
}

    116554

    

1 个答案:

答案 0 :(得分:2)

您应该使用textContent代替value

var amount = document.getElementById('value').textContent;

在这种情况之后你也错过了一个支架

 if (Dn) {
    res += (((res == "") ? "" : " ") +
    convert_number(Dn) + " Hundred");
 } // <--- 

Demo

相关问题