我一直在爲PHP重寫一個BASIC程序。我經歷了一個問題跑,讓我解釋一下:BASIC INT和PHP之間的差異int,如何解決?
在BASIC代碼我有值以下語句:
LSLATVER=1590
PITCHVER=50
NRSLATHOR=INT(LSLATVER/PITCHVER-.8)
// output: 30
在PHP代碼中,我有兩個例子是這樣的:
$length_vertical_slat = 1590;
$vertical_pitch = 50;
echo $number_of_horizontal_slats = (int) ($length_vertical_slat/$vertical_pitch - .8);
// output: 31
echo $number_of_horizontal_slats = (int) ($length_vertical_slat/($vertical_pitch - .8));
// output: 32
爲什麼這三個例子之間有這麼大的差別?在這個例子中,我需要PHP輸出30的值,但我不知道該如何去做。請幫助ty!
您是否試過http://www.php.net/intval? – Matteo
閱讀浮點數學。對於PHP的浮點數學,使用'bcmath':http://php.net/manual/en/book.bc.php – Nanne
首先要注意的是你的基本數學出''var/$ var - $ float'是不同於'$ var /($ var - $ float)'方括號首先被評估爲101.第二件要注意的事情是,你將其強制轉換爲INT,所以php正在做邏輯事務並將30.5到31舍入到31.你的第一個陳述是正確的,但刪除硬鑄 – Dave