Относительно числовых значений с запятой и десятичной дробью в текстовом поле в pdf, сгенерированном EVOPDF - PullRequest
0 голосов
/ 14 декабря 2018

Я использую EVOPDF для генерации PDF с использованием кода cshtml в приложении MVC.У меня есть 4 текстовых поля для суммы в моем файле cshtml и еще 1 текстовое поле для TotalAmount.Общая сумма будет равна сумме всех четырех текстовых полей.Я добился этого, используя ниже код C #

pdfDocument.Form.Fields["qyt1"].Action = new PdfActionJavaScript(JaveScriptfunctionForCurrentYear()) 

private string JaveScriptfunctionForCurrentYear()  //C# method, returning js code as string to calcuate Total amount
{
return " this.getField('totqyt').value = (parseInt((this.getField('qyt1').value=='')?0:this.getField('qyt1').value) + parseInt((this.getField('qyt2').value=='')?0:this.getField('qyt2').value) + parseInt((this.getField('qyt3').value=='')?0:this.getField('qyt3').value)+ parseInt((this.getField('qyt4').value=='')?0:this.getField('qyt4').value));";
}

Расчет суммы работает нормально только для числовых значений.Выше код нарушается, когда пользователь вводит числовые значения с запятой.Итак, чтобы справиться с этой ситуацией, я изменил мой метод для расчета общей суммы, как показано ниже.Но приведенный ниже код не работает для числа без запятой.

 private string JaveScriptfunctionForCurrentYear()  //C# method, returning js code as string
    {
        return " this.getField('totqyt').value =  " +
        " + parseInt((this.getField('qyt2').value =='')?0:this.getField('qyt2').value.replace(',','')) " +
        " + parseInt((this.getField('qyt2').value =='')?0:this.getField('qyt2').value.replace(',','')) " +
        " + parseInt((this.getField('qyt3').value =='')?0:this.getField('qyt3').value.replace(',',''))" +
        " + parseInt((this.getField('qyt4').value =='')?0:this.getField('qyt4').value.replace(',',''))";
    }

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

Итак,подскажите, как рассчитать общую сумму, если пользователь вводит числовые значения с запятой, а также десятичные значенияЯ хочу запретить пользователю вводить любые другие символы, которые могут нарушить вычисления.

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