[SourceBans] 1.5.1 rus Вычислить процент игроков

Сообщения
6
Реакции
0
Доброго времени суток, столкнулся с такой проблемой, не как не получается заменить знак "," запятая в выводе на страничку SB

PHP:
$objResponse->addAssign("max_player_all_$sid", "innerHTML", '<div style="width:' . $info['numplayers'] / $info['maxplayers'] * 100 . '%"></div>');

Как выглядит сформированный код на странице HTML
HTML:
<div style="width:61,290322580645%"></div>

По знаниям css и html запятая не работает, ссылается на warning

Добрые люди помогите, пожалуйста сформировать этот гребаный вычислитель при помощи
PHP:
number_format(0.9, 0);

Если у меня есть значение 19 и 31 то можно получить процент

PHP:
19/31 * 100 Ответ 61,290322580645%

А при помощи number_format() можно сделать вывод такой.

PHP:
19/31 * 100 Ответ 61%

=============================

Решил свою проблему использованием функции round(3,6561516, 0, PHP_ROUND_HALF_DOWN);

PHP:
$objResponse->addAssign("max_player_all_$sid", "innerHTML", '<div style="width:' . round($info['numplayers'] / $info['maxplayers'] * 100, 0, PHP_ROUND_HALF_DOWN) . '%"></div>');
 
Последнее редактирование:

SourceGod

Участник
Сообщения
47
Реакции
0
Владислав Кравченко, на что заменить то?
 
Сообщения
6
Реакции
0
Владислав Кравченко, на что заменить то?

Привет, нужно как-то переделать отображение значений, а точнее что-бы выглядело так

Есть число игроков и есть число слотов, что-бы узнать процент мы должны умножить число игроков и сколько слотов на 100(умножить) и мы полчим процент заполнения сервера, это я сделал, а вот вывод на сайт SourceBans выводит (Пример: 61,15315646%)
Я не пойму как сделать хотя-бы точку в место запятой.

Если ты знаешь как это сделать буду ооочень благодарен.

p.s vlad_effect
 

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
Полный код покажи. Если хочешь точные данные выводить, то форматируй так:
PHP:
number_format($var, 8, ".", "");
Вообще, десятичные параметры (а уж тем более из восьми символов) в CSS ставить не следует -> разумнее сделать вот так:
PHP:
number_format($var, 0, "", "");
 

SourceGod

Участник
Сообщения
47
Реакции
0
Доброго времени суток, столкнулся с такой проблемой, не как не получается заменить знак "," запятая в выводе на страничку SB

PHP:
$objResponse->addAssign("max_player_all_$sid", "innerHTML", '<div style="width:' . $info['numplayers'] / $info['maxplayers'] * 100 . '%"></div>');

Как выглядит сформированный код на странице HTML
HTML:
<div style="width:61,290322580645%"></div>

По знаниям css и html запятая не работает, ссылается на warning

Добрые люди помогите, пожалуйста сформировать этот гребаный вычислитель при помощи
PHP:
number_format(0.9, 0);

Если у меня есть значение 19 и 31 то можно получить процент

PHP:
19/31 * 100 Ответ 61,290322580645%

А при помощи number_format() можно сделать вывод такой.

PHP:
19/31 * 100 Ответ 61%

А ты прoбывал так
PHP:
19.0/31.0 * 100
 
Сообщения
6
Реакции
0
Полный код покажи. Если хочешь точные данные выводить, то форматируй так:
PHP:
number_format($var, 8, ".", "");
Вообще, десятичные параметры (а уж тем более из восьми символов) в CSS ставить не следует -> разумнее сделать вот так:
PHP:
number_format($var, 0, "", "");

PHP:
$objResponse = new xajaxResponse();
	global $userbank;
	require INCLUDES_PATH.'/CServerInfo.php';
	$sid = (int)$sid;
	$res = $GLOBALS['db']->GetRow("SELECT sid, ip, port FROM ".DB_PREFIX."_servers WHERE sid = $sid");
	if(empty($res[1]) || empty($res[2]))
		return $objResponse;
	$info = array();
	$sinfo = new CServerInfo($res[1],$res[2]);
	$info = $sinfo->getInfo();
	if($type == "servers")
	{
		if(!empty($info['hostname']))
		{
$objResponse->addAssign("max_player_all_$sid", "innerHTML", '<div style="width:' . $info['numplayers'] / $info['maxplayers'] * 100 . '.0%"></div>');
}
}
Основной отрезок кода
 

TWRP

Участник
Сообщения
317
Реакции
44
PHP:
$objResponse = new xajaxResponse();
	global $userbank;
	require INCLUDES_PATH.'/CServerInfo.php';
	$sid = (int)$sid;
	$res = $GLOBALS['db']->GetRow("SELECT sid, ip, port FROM ".DB_PREFIX."_servers WHERE sid = $sid");
	if(empty($res[1]) || empty($res[2]))
		return $objResponse;
	$info = array();
	$sinfo = new CServerInfo($res[1],$res[2]);
	$info = $sinfo->getInfo();
	if($type == "servers")
	{
		if(!empty($info['hostname']))
		{
$objResponse->addAssign("max_player_all_$sid", "innerHTML", '<div style="width:' . $info['numplayers'] / $info['maxplayers'] * 100 . '.0%"></div>');
}
}
Основной отрезок кода
Можешь полностью раживать коду что и как ? :blush2:
 
Сообщения
6
Реакции
0
Можешь полностью раживать коду что и как ? :blush2:

Решил свою проблему использованием функции round(3,6561516, 0, PHP_ROUND_HALF_DOWN);

PHP:
$objResponse->addAssign("max_player_all_$sid", "innerHTML", '<div style="width:' . round($info['numplayers'] / $info['maxplayers'] * 100, 0, PHP_ROUND_HALF_DOWN) . '%"></div>');

Смотрим мануал он очень простой.
 

Похожие темы

Сверху Снизу