2016-09-07 2 views
0

У меня проблема с вычитанием с плавающим числом.Проблема вычитания числа с плавающей запятой в php

Это мой код:

$totalEarning = number_format($bsal+$attn+$incen+$tran+$otdpay+$othpay, 2); // 41,256.25 
    $totalDed  = number_format($adv+$stmp+$insu+$nopay+$other+$emplyepf, 2); // 4,436.60 
    $netSalary = number_format($totalEarning - $totalDed, 2); 

Но в $netSalary имеют различный результат. Мой ожидаемый результат: 36819.65, но он дает это 37.00.

Может кто-нибудь сказать мне, что случилось с моим кодом?

+1

Не пытайтесь добавлять ___after___ форматирование с thousnds сепараторов; добавьте необработанные значения –

+0

@MarkBaker, вы имеете в виду это '$ netSalary = $ totalEarning - $ totalDed; '? – user3733831

+0

Нет, я имею в виду вычисление '$ totalEarning',' $ totalDed' ___and___ $ netSalary без использования 'number_format()', используйте только 'number_format()' в точке отображения –

ответ

0

Что @Mark Бейкера означает:

$totalEarning = $bsal+$attn+$incen+$tran+$otdpay+$othpay; 
$totalDed  = $adv+$stmp+$insu+$nopay+$other+$emplyepf; 
$netSalary = $totalEarning - $totalDed; 

echo number_format($netSalary, 2); 
Смежные вопросы