- Формат на числа с PHP
WT форуми -> PHP MySQL ASP.NET -> Формат на числа с PHP
Създайте нова тема Напишете отговор 
Автор Съобщение
vankata
Турист
Турист

Регистриран на: 18/04/2008 11:58 pm

Support: 1
Bonus: 7
Мнения: 345
Мнение 16/03/2017 12:12 am     Формат на числа с PHP Отговорете с цитат


Здравейте,
правя калкулации с PHP и като тотал ми излиза число 18.71338 или 15.02776
използвайки number_format ми ги закръгля сумите тоест става 18.72 или 15.03 лв. Как да запазя сумата без да ми ги закръгля със стотинка отгоре? Laughing от 18.71338 да стане 18.71 и от 15.02776 да стане 15.02
Формат на числа с PHP
трябват ми само първите 2 числа след точката, как да махна другите?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Revelation
Турист
Турист

Регистриран на: 24/03/2013 3:23 pm

Support: 38
Bonus: 76
Мнения: 524
Мнение 16/03/2017 7:15 am      Отговорете с цитат


За пари ли става въпрос или за обикновено форматиране на числа. Ако е за пари си използвай number_format или money_format и остави закръглянето, иначе сметките няма да са ти точни.

Друг вариант е от крайния резултат да вадиш 0.01.

Трети вариант е този на потребител от форума на bgdev.

ici написа:

http://ideone.com/Lg78Ev


И по-точно т.2 от примера.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
dakata__92
Активен
Активен

Регистриран на: 02/08/2011 9:24 pm

Support: 114
Bonus: 221
Мнения: 2924
Мнение 16/03/2017 4:40 pm      Отговорете с цитат


Чичо Гугъл казва така:
PHP code:

$number = 1.95687;
$number_floored = floor($number*100)/100;
echo $number_floored; //1.95


или

PHP code:

function numberFormatPrecision($number, $precision = 2, $separator = '.')
{
$numberParts = explode($separator, $number);
$response = $numberParts[0];
if(count($numberParts)>1){
$response .= $separator;
$response .= substr($numberParts[1], 0, $precision);
}
return $response;
}

// numbers test
numberFormatPrecision(19, 2, '.'); // expected 19 return 19
numberFormatPrecision(19.1, 2, '.'); //expected 19.1 return 19.1
numberFormatPrecision(19.123456, 2, '.'); //expected 19.12 return 19.12

// negative numbers test
numberFormatPrecision(-19, 2, '.'); // expected -19 return -19
numberFormatPrecision(-19.1, 2, '.'); //expected -19.1 return -19.1
numberFormatPrecision(-19.123456, 2, '.'); //expected -19.12 return -19.12

// precision test
numberFormatPrecision(-19.123456, 4, '.'); //expected -19.1234 return -19.1234

// separator test
numberFormatPrecision('-19,123456', 3, ','); //expected -19,123 return -19,123 -- comma separator
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети