В виде формулы

Тема в разделе "JavaScript", создана пользователем artefakt777, 16 май 2019.

  1. artefakt777

    artefakt777

    Регистр.:
    15 июл 2012
    Сообщения:
    516
    Симпатии:
    135
    Имеем вывод формулы такого вида: √3136|1936

    Нужно, чтобы пользователь видел это:

    vivod.jpg

    Решается ли через JavaScript? Спасибо!
     
  2. Absolute

    Absolute Крокодил ;)

    Регистр.:
    9 авг 2009
    Сообщения:
    526
    Симпатии:
    384
    Олдскул, в таблице:
    HTML:
    function expressionToHtml(expression){
    
      var reg = /[^0-9.,]+/,
          temp = expression.split('|'),
          result = document.createElement('table'),
          trTop = document.createElement('tr'),
          trBottom = document.createElement('tr'),
          tdLeft = document.createElement('td'),
          tdRightTop =document.createElement('td'),
          tdRightBottom = document.createElement('td');
    
      temp = temp.map(function(val){
        return val.replace(reg,'');
      });
    
      result.border = 0;
      tdLeft.setAttribute('rowspan', 2);
      tdRightTop.style.borderBottom = '1px solid black';
    
      result.appendChild(trTop);
      result.appendChild(trBottom);
      trTop.appendChild(tdLeft);
      trTop.appendChild(tdRightTop);
      trBottom.appendChild(tdRightBottom);
      tdLeft.innerHTML = '√';
      tdRightTop.textContent = temp[0];
      tdRightBottom.textContent = temp[1];
    
      document.body.appendChild(result);
      tdLeft.style.fontSize = tdLeft.offsetHeight+'px';
    // return result;
    }
    
    var a = '√31.36|1936';
    expressionToHtml(a)
    https://jsbin.com/murekonuhi/edit?html,js,console,output

    :glob:
     
    artefakt777 нравится это.
  3. Stuzer

    Stuzer Писатель

    Регистр.:
    30 июл 2018
    Сообщения:
    3
    Симпатии:
    0
    Лучше конвертируйте Ваши формулы (на лету) в TeX синтакс и выводите нормально с этим плагином https://www.mathjax.org/#samples.