Закръгляне на число към по-голямо, добавяне на текст към сни

C++ JAVA
Post Reply
User avatar
Ticketa
Турист
Турист
Posts: 480
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

Закръгляне на число към по-голямо, добавяне на текст към сни

Post by Ticketa » Sat Mar 02, 2019 5:16 pm

Привет,
използвам функцията number_format, като към момента имам генериране на числа: 4.85 лв. 5.93 лв. 7.62 лв. 8.89 лв.
[php]
$margin1 = number_format((float)$e/(1-($margin_1/100)), 2, '.', '');
$margin2 = number_format((float)$e/(1-($margin_2/100)), 2, '.', '');
$margin3 = number_format((float)$e/(1-($margin_3/100)), 2, '.', '');
$margin4 = number_format((float)$e/(1-($margin_4/100)), 2, '.', '');[/php]

Искам, обаче последното число, да бъде закръгляно към по-голямото примерните горе да станат:

4.85 лв. 5.95 лв. 7.65 лв. 8.90 лв.

Как може да стане? :lol:
Last edited by Ticketa on Sat Mar 02, 2019 6:35 pm, edited 2 times in total.

User avatar
Revelation
Web-tourist
Web-tourist
Posts: 865
Joined: Sun Mar 24, 2013 1:23 pm
Answers: 62

Post by Revelation » Sat Mar 02, 2019 6:11 pm

В случай, че винаги искаш да се закръгля нагоре, това ще ти помогне. Числата трябва да ги предоставиш в нормален float вид, след това да ги подадеш на number_format, защото number_format() връща string.

[php]
$numbers = [4.85, 5.93, 7.62, 8.89];

print_r(array_map("roundDecimalsUp", $numbers));

function roundDecimalsUp($number) {
$number = round($number * 100);

while($number % 5 != 0) {
$number++;
}

return $number / 100;
}
[/php]

Резултат:
[php]
Array
(
[0] => 4.85
[1] => 5.95
[2] => 7.65
[3] => 8.9
)
[/php]

User avatar
Ticketa
Турист
Турист
Posts: 480
Joined: Mon Feb 27, 2012 1:54 pm
Answers: 23
Location: in /root
Contact:

Post by Ticketa » Sat Mar 02, 2019 6:35 pm

+1 чудесно работи

Post Reply