第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

比較浮點(diǎn)數(shù)的PHP問(wèn)題

比較浮點(diǎn)數(shù)的PHP問(wèn)題

PHP
楊__羊羊 2022-06-17 16:47:23
有人可以幫我弄清楚為什么這個(gè)最基本的代碼在 PHP 中不起作用嗎?多年來(lái)一直使用 PHP,但從未見(jiàn)過(guò)這種情況......因?yàn)槲以?sandbox.onlinephpfunctions.com 網(wǎng)站上對(duì)其進(jìn)行了測(cè)試,所以它在每個(gè)版本的 php 上都是一致的,請(qǐng)參見(jiàn)代碼片段下方的鏈接。我想做的就是將一個(gè)數(shù)字與另一個(gè)數(shù)字進(jìn)行比較,但是當(dāng)數(shù)字包含浮點(diǎn)數(shù)時(shí),事情會(huì)變得很奇怪。<?php$lside = 490.84;$rside = 237.80 + 222.00 + 31.04;if( $lside == $rside ){   echo "they are equal\n";} else {   echo "not equal\n";   echo "rside: [$rside]\n";   echo "lside: [$lside]\n";}http://sandbox.onlinephpfunctions.com/code/6dee3a97f68a11e67fbaa8e5c157b827ecd47740幫助和感謝!編輯:這是我最終從收到的答案中解決此問(wèn)題并進(jìn)一步研究的方法:<?php$lside = 490.84;$rside = 237.80 + 222.00 + 31.04;if( (string)$lside == (string)$rside ){   echo "they are equal\n";} else {   echo "not equal\n";   echo "rside: [$rside]\n";   echo "lside: [$lside]\n";}因此,要在 PHP 中比較兩個(gè)數(shù)字,一種安全的方法是強(qiáng)制它們成為字符串……看圖。我進(jìn)行了一些額外的測(cè)試,以確保這是真的并且似乎總是有效。所有這些都返回“好”:if( "1" == "1" ) echo "1 - good\n";if( "1.0" == "1" ) echo "2 - good\n";if( "1" == "1.0" ) echo "3 - good\n";if( "1.0" == "1.0" ) echo "4 - good\n";if( "1.0" == "1.00000000" ) echo "5 - good\n";if( "1.000000000000000" == "1.00000000" ) echo "6 - good\n";if( "2" == (string)(.5+.5+1) ) echo "7 - good\n";if( "2.000000000000000" == (string)(1+1) ) echo "8 - good\n";if( "2.000000000000000" == (string)(1.0+1) ) echo "9 - good\n";if( "2.4" == (string)(1.4+1) ) echo "10 - good\n";if( "2.40000" == (string)(1.4+1) ) echo "11 - good\n";if( "2.000000000000000" == (string)(.5+.5+1) ) echo "12 - good\n";if( "1.5" == (string)(.5+.5+.5) ) echo "13 - good\n";if( "1.500000000000000" == (string)(.5+.5+.5) ) echo "14 - good\n";
查看完整描述

2 回答

?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

你可以試試這個(gè):


if( bccomp($lside, $rside, 2) == 0 ){

   echo "they are equal\n";

} else {

   echo "not equal\n";

   echo "rside: [$rside]\n";

   echo "lside: [$lside]\n";

}

因?yàn)楸容^float的時(shí)候有一個(gè)復(fù)雜的東西,你可以在這里閱讀更多,對(duì)于bccomp函數(shù)你可以在這里閱讀更多


查看完整回答
反對(duì) 回復(fù) 2022-06-17
?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

嘗試這個(gè)


$lside = 490.84;

$rside = 237.80 + 31.04 + 222;

$newRside = number_format($rside,2);


if( $lside == $newRside ){

   echo "they are equal\n";

} else {

   echo "not equal\n";

   echo "rside: [$rside]\n";

   echo "lside: [$lside]\n";

}


查看完整回答
反對(duì) 回復(fù) 2022-06-17
  • 2 回答
  • 0 關(guān)注
  • 93 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)