JavaScript калькулятор - Страница 2 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Ответ
Опции темы
Непрочитано 22.11.2015, 18:05   #11
Пользователь

Автор темы (Топик Стартер) Re: JavaScript калькулятор

Привел к нужному виду

PHP код:
<script src="http://code.jquery.com/jquery-latest.js";></script>
    <SCRIPT>
$(document).ready(function () {
$.ajax({
    url: 'cb.xml',
    dataType: 'xml'
}).done(function (xml) {
    $(xml).find('Valute').each(function () {
        if ($(this).attr('ID') == 'R01239') {
            var currency = parseFloat($(this).find('Value')
                    .text().replace(',', '.'));
            var price = parseFloat($('#Euro').val());

            $('p').append(price * currency);
        }
    });
});
function calc1() {


        var Li = new Number(list.Li.value);

        var Si = new Number(list.Si.value);

        var Ti = new Number(list.Ti.value);

        var Cf = new Number(list.Cf.value);

        var Cb = new Number(list.Cb.value);

        var F = new Number(list.F.checked);

        var B = new Number(list.B.checked);

        var Pf = new Number(list.Pf.checked);

        var N = new Number(list.N.checked);

        var V = new Number(list.V.checked);

        var Lg = new Number(list.Lg.checked);

        var Lm = new Number(list.Lm.checked);



        if (Li.toString() ==  "NaN" || Li <= 0) {

            alert('Введено неверное значение формата!');

            list.Li.focus();

            return false;

        }

        if (Si.toString() ==  "NaN" || Si <= 0) {

            alert('Введено неверное значение формата!');

            list.Si.focus();

            return false;

        }

        if ( (Li < 20 || Li > 430) || (Si < 20 || Si > 430) ) {

            alert('Формат задается в пределах от 20 до 430!');

            return false;

        }

        if (Ti.toString() ==  "NaN" || Ti <= 0) {

            alert('Введено неверное значение тиража!');

            list.Ti.focus();

            return false;

        }

        else {

            Nil1 = Math.floor(438/ (Li + 1) );

            Nis1 = Math.floor(306/ (Si + 1) );

            Ni1 = Nil1 * Nis1;

            Nil2 = Math.floor(438/ (Si + 1) );

            Nis2 = Math.floor(306/ (Li + 1) );

            Ni2 = Nil2*Nis2;

            Ni = Math.max(Ni1,Ni2);

            Na3 = Ti / Ni;

            Rb = list.RbK.value.substring(0, list.RbK.value.indexOf('_'));

            K = list.RbK.value.substring(list.RbK.value.indexOf('_')+1);

            Phs = Math.floor(0.999+(Na3*Rb/70));

            if ( Ni1 > Ni2 ) {

            Prz=(6+(Nil1-1)+(Nis1-1))*0.37*Phs;

            }

            else {

            Prz=(6+(Nil2-1)+(Nis2-1))*0.37*Phs;

            }

            Pbum=(0.6 * Rb * K *( Na3 + 100))/4;

            if (!(Cf-Cb)  && ((Li<310 && Si<=240) || (Li<=310 && Si<240) || (Si<310 && Li<=240) || (Si<=310 && Li<240))) {

                Pl =  1.5*(Cf+Cb);

                Ppec = 2*(Cf+Cb)+(Cf+Cb)*(10.0+0.0033*Na3);

            }

            else {

                Pl = 3*(Cf+Cb);

                Ppec = 2*(Cf+Cb)+(Cf+Cb)*(20+0.0033*Na3);

            }

            //alert(Ppec);

                        Potd = Pl + F*(0.0022*Ti+500) + B * (20 + Na3 * 0.01) + Pf * Na3 * 0.01 +  V*(Na3 * 0.05)+N*(30+Ti*0.003) + Lg * Na3 * 0.25 + Lm * Na3 * 0.5 + Prz;

            //Общая стоимость тиража

            S = (Pbum + Ppec + Potd)*Euro;

            S1 = S / list.Ti.value;

            S = S.toString().substring(0,S.toString().indexOf(".")+3);

            S1 = S1.toString().substring(0,S1.toString().indexOf(".")+3);

            list.result.value = "Общая стоимость тиража = " + S + " руб.\nСтоимость 1 экземпляра = " + S1 + " руб.";

            return true;

        }

    }

function format(dx,dy){

        document.list.Si.value = dx;

        document.list.Li.value = dy;

            }

</SCRIPT> 
Работать не начал
Antonio вне форума Ответить с цитированием
Непрочитано 22.11.2015, 18:46   #12
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: JavaScript калькулятор

Исправили только то, где была первая ошибка, но все так же оставили * Euro.
Калькуляция происходит автоматически или её нужно производить по какому-то действию пользователя?
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 22.11.2015, 19:11   #13
Пользователь

Автор темы (Топик Стартер) Re: JavaScript калькулятор

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Исправили только то, где была первая ошибка, но все так же оставили * Euro.
Калькуляция происходит автоматически или её нужно производить по какому-то действию пользователя?
Пользователь выбирает нужные параметры расчета
http://joxi.ru/v29lEyqSEl7JmG
И нажимает кнопку "Посчитать"

Цитата:
но все так же оставили * Euro.
Вы про это?
PHP код:
= (Pbum Ppec Potd)*Euro
Если да, то именно этот момент мне и нужно умножать на курс

Добавлено через 17 минут
Сложная однако задача. Мне предложили другой вариант, получать единоразово одно число

PHP код:
<?php
$client 
= new SoapClient("http://www.cbr.ru/DailyInfoWebServ/DailyInfo.asmx?wsdl");
$curs $client->GetCursOnDate(["On_date"=>date('Y-m-d'strtotime('now -1 day'))]);
$rate = new SimpleXMLElement($curs->GetCursOnDateResult->any);
$result $rate->xpath('ValuteData/ValuteCursOnDate[VchCode="EUR"]');
//сохраняем у себя на сутки, что и возвращаем клиенту при запросах
$eur = (float)$result[0]->Vcurs/(int)$result[0]->Vnom;
?>
Только вот не обозначили куда оно должно записываться и откуда его потом тянуть.

Последний раз редактировалось Antonio; 22.11.2015 в 19:29. Причина: Добавлено сообщение
Antonio вне форума Ответить с цитированием
Непрочитано 22.11.2015, 19:57   #14
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: JavaScript калькулятор

Цитата:
Сообщение от Antonio Посмотреть сообщение
Вы про это?
Про это, чем должна быть переменная Euro? Если нужна просто глобальная цена 1 евро, то проще прописать вне $(document).ready():

// Глобальная переменная с курсом евро
var currency;
 
$(document).ready(function() {
 
	$.ajax({
		url: 'cb.xml',
		dataType: 'xml'
	}).done(function (xml) {
		$(xml).find('Valute').each(function() {
			if ($(this).attr('ID') == 'R01239') {
				currency = parseFloat($(this).find('Value')
						.text().replace(',', '.'));
			}
		});
	});
});
 
function calculate() {
 
	// CODE HERE
 
	S = (Pbum + Ppec + Potd) * currency;
 
	// CODE HERE
}
Code: Javascript
Опять же, это пример, а не готовое решение.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 22.11.2015, 20:06   #15
Пользователь

Автор темы (Топик Стартер) Re: JavaScript калькулятор

Цитата:
Сообщение от PROGRAMMATOR Посмотреть сообщение
Про это, чем должна быть переменная Euro? Если нужна просто глобальная цена 1 евро, то проще прописать вне $(document).ready():

// Глобальная переменная с курсом евро
var currency;
 
$(document).ready(function() {
 
	$.ajax({
		url: 'cb.xml',
		dataType: 'xml'
	}).done(function (xml) {
		$(xml).find('Valute').each(function() {
			if ($(this).attr('ID') == 'R01239') {
				currency = parseFloat($(this).find('Value')
						.text().replace(',', '.'));
			}
		});
	});
});
 
function calculate() {
 
	// CODE HERE
 
	S = (Pbum + Ppec + Potd) * currency;
 
	// CODE HERE
}
Code: Javascript
Опять же, это пример, а не готовое решение.
Спасибо за подсказки. Раздуплился, все отлично работает
Antonio вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript сортировка массива Virt Программирование / Programming 5 04.05.2013 13:47
Skype API JavaScript [STIGMATED] Курилка / Yak floor 14 05.03.2013 03:57
Интеграция -- JavaScript -> Java ZhukV Lineage II 2 04.05.2011 21:17
Php, java, javascript програмист noith Рынок / Marketplace 4 05.08.2010 11:37


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 09:42. Часовой пояс GMT +3.

Вверх