Как добавить значение с помощью math.round в Jquery - PullRequest
0 голосов
/ 14 июля 2020

У меня есть эта строка кода Формат ввода и вывода

  • Вход: 0% Выход: 0%
  • Вход: 100% Выход: 100%
  • Ввод: 65,23% Выход: 65%

, но я всегда получаю NAN Пожалуйста, помогите мне.

$("#NameMatchSummary").each(function() {
  var namematch = $(this).find('.divNameMatch').length;
  for (var o = 1; o <= namematch; o++) {
    var namevalue = 0%100%65.23%;
    var splitvalue = namevalue.split('%');
    //var nameMatchT = Math.round(splitvalue);
    var nameMatchT = Math.round(Number(splitvalue[o]));
    //alert(nameMatchT);
    $('#spnNameMatch' + o).text(nameMatchT + "%");
  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="NameMatchSummary" class="pad1x flex-col-xs-3 flex-col-sm-6 DataSourceEnqInfo">
  <div id="divNameMatch" class="divNameMatch flex-row_left divEnqInfo">
    <div class="pad1x NameMatchiv">
      <span class="labelValue" name="spnNameMatch" id="spnNameMatch1">NaN%</span>

    </div>
  </div>
  <div id="divNameMatch" class="divNameMatch flex-row_left divEnqInfo">

    <div class="pad1x NameMatchiv">
      <span class="labelValue" name="spnNameMatch" id="spnNameMatch2">NaN%</span>

    </div>
  </div>
  <div id="divNameMatch" class="divNameMatch flex-row_left divEnqInfo">
    <div class="pad1x NameMatchiv">
      <span class="labelValue" name="spnNameMatch" id="spnNameMatch3">NaN%</span>

    </div>
  </div>
</div>

1 Ответ

0 голосов
/ 14 июля 2020

Вы должны преобразовать string значение в number

Заменить

var nameMatchT = Math.round(splitvalue[i]);

на

var nameMatchT = Math.round(Number(splitvalue[0]));

$("#NameMatchSummary").each(function() {
  var namematch = $(this).find('.divNameMatch').length;
  for (var o = 1; o <= namematch; o++) {debugger;
    var namevalue = $('#spnNameMatch' + o).text();
    var splitvalue = namevalue.split('%');
    //var nameMatchT = Math.round(splitvalue);
    var nameMatchT = Math.round(Number(splitvalue[0]));
    //alert(nameMatchT);
    $('#spnNameMatch' + o).text(nameMatchT + "%");
  }

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="NameMatchSummary" class="pad1x flex-col-xs-3 flex-col-sm-6 DataSourceEnqInfo">
  <div id="divNameMatch" class="divNameMatch flex-row_left divEnqInfo">
    <div class="pad1x NameMatchiv">
      <span class="labelValue" name="spnNameMatch" id="spnNameMatch1">0%</span>

    </div>
  </div>
  <div id="divNameMatch" class="divNameMatch flex-row_left divEnqInfo">

    <div class="pad1x NameMatchiv">
      <span class="labelValue" name="spnNameMatch" id="spnNameMatch2">100%</span>

    </div>
  </div>
  <div id="divNameMatch" class="divNameMatch flex-row_left divEnqInfo">
    <div class="pad1x NameMatchiv">
      <span class="labelValue" name="spnNameMatch" id="spnNameMatch3">65.23%</span>

    </div>
  </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...