首頁 後端開發 php教程 php是不是有小数部分为.3是不是有漏洞解决方案

php是不是有小数部分为.3是不是有漏洞解决方案

Jun 13, 2016 pm 01:35 PM
boolean var

php是不是有小数部分为.3是不是有漏洞
从html页面获取一个值,数据库读一个值,判断如果他们不相等就干某些事情(!=)当两个数字的小数部分是.3时 居然判断错误;
比如两个数都是54.3或55.3它居然判断 true 应该是false,小数部分为其他时没有问题,比如54.2
有碰到过的没

------解决方案--------------------
没问题啊。。。楼主你的代码有问题或者大脑短路了吧。

PHP code
var_dump(54.3 != 55.3);
//bool(true)
<br><font color="#e78608">------解决方案--------------------</font><br>多次测试,没有发现所说的问题
<br><font color="#e78608">------解决方案--------------------</font><br> 
登入後複製
PHP code

<?php $var['peilv'] = 12.345;
$tempCurPeilv = 234.54;
var_dump($var['peilv'] != $tempCurPeilv);

$var['peilv'] = 55.3;
$tempCurPeilv = 55.3;
var_dump($var['peilv'] != $tempCurPeilv);

echo "<br/>";
echo '$var[\'peilv\']:',$var['peilv'],'$tempCurPeilv:',$tempCurPeilv;
var_dump($var['peilv'] != $tempCurPeilv);
<br><font color="#e78608">------解决方案--------------------</font><br>愚人节吗哈哈<br>
登入後複製
PHP code

boolean true

boolean false


$var['peilv']:55.3$tempCurPeilv:55.3
boolean false
<br><font color="#e78608">------解决方案--------------------</font><br>因为你的比较变成了字符串和浮点数或者其他类型的比较所以结果就出现了你说的异常。 <div class="clear">
                 
              
              
        
            </div>
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
Java中Boolean和boolean的差別是什麼 Java中Boolean和boolean的差別是什麼 May 05, 2023 pm 07:40 PM

前言有人問,Boolean型別的值不是只有true和false兩種嗎?為什麼他定義的屬性出現了null值?我們應該先明確一點,boolean是Java的基本資料型別,Boolean是Java的一個類別。 boolean類型會在「賦零值」階段為屬性賦false。而Boolean是一個類,會在「賦零值」階段為物件賦null。如果是靜態屬性,會在類別載入時被賦值。如果是普通類別屬性,會在實例化物件時賦值。這兩點可以了解一下「類別載入機制」和「物件建立過程」。類別載入機制:載入:根據類別的全名取得類別的二進位位元組流,將

使用java的Boolean.valueOf()函數將字串轉換為布林值 使用java的Boolean.valueOf()函數將字串轉換為布林值 Jul 24, 2023 pm 05:15 PM

使用Java的Boolean.valueOf()函數將字串轉換為布林值在Java程式設計中,經常會遇到需要將字串轉換為布林值的情況。而Java提供了一個方便的方法來實現這個需求,即使用Boolean.valueOf()函數。此函數可以將字串表示的布林值轉換為對應的布林類型。下面我們就來詳細了解Boolean.valueOf()的用法。給定一個字串,我們

在 Windows 11 上修復音訊服務無回應問題的 18 種方法 在 Windows 11 上修復音訊服務無回應問題的 18 種方法 Jun 05, 2023 pm 10:23 PM

音訊輸出和輸入需要特定的驅動程式和服務才能在Windows11上按預期工作。這些有時最終會在後台遇到錯誤,從而導致音訊問題,如無音訊輸出、缺少音訊設備、音訊失真等。如何修復在Windows11上沒有回應的音訊服務我們建議您從下面提到的修復開始,並逐步完成列表,直到您設法解決您的問題。由於Windows11上的多種原因,音訊服務可能無法回應。此清單將幫助您驗證和修復阻止音訊服務在Windows11上回應的大多數問題。請按照以下相關部分幫助您完成流程。方法一:重啟音訊服務您可能會遇

一起聊聊var、let以及const的差異(程式碼範例) 一起聊聊var、let以及const的差異(程式碼範例) Jan 06, 2023 pm 04:25 PM

這篇文章為大家帶來了關於JavaScript的相關知識,其中主要為大家介紹了var、let以及const的區別有哪些,還有ECMAScript 和JavaScript的關係介紹,有興趣的朋友一起來看一下吧,希望對大家有幫助。

PHP中var關鍵字的作用與範例 PHP中var關鍵字的作用與範例 Jun 28, 2023 pm 08:58 PM

PHP中var關鍵字的作用和範例在PHP中,var關鍵字用來聲明一個變數。在先前的PHP版本中,使用var關鍵字是宣告成員變數的慣用方式,現在不再建議使用。然而,在某些情況下,var關鍵字依然會被使用。 var關鍵字主要用於宣告一個局部變量,並且會自動將該變數標記為局部作用域。這意味著該變數僅在當前的程式碼區塊中可見,並且不能在其他函數或程式碼區塊中存取。使用var

java中boolean怎麼用 java中boolean怎麼用 Nov 13, 2023 pm 03:34 PM

在Java中,boolean是一種基本資料類型,它只有兩個可能的值:true和false。 boolean類型經常用於條件測試,例如進行比較或檢查某個條件是否滿足。

報錯AttributeError(\'{0!r} object has no attribute {1!r}\'.format(type(self).__name__, k))的解決 報錯AttributeError(\'{0!r} object has no attribute {1!r}\'.format(type(self).__name__, k))的解決 Feb 29, 2024 pm 06:40 PM

錯誤的原因這個錯誤訊息表明,在python程式碼中,使用了一個物件(由self變數表示),但是該物件沒有一個名為k的屬性。這可能是由於該物件沒有定義這個屬性,或者是在程式碼中類型錯誤導致該物件不是預期的類型。如何解決要解決這個錯誤,可能需要進行以下操作之一或多個:檢查程式碼中的錯誤,確保self變數引用的物件具有名為k的屬性。檢查程式碼中的型別錯誤,確保self變數所引用的物件是預期的型別。如果是缺少屬性的話,需要在類別裡定義這個屬性使用tryexcept來取得這個錯誤如果確定了k是類別裡沒有定義的屬性,請確

let var const代表什麼意義 let var const代表什麼意義 Nov 14, 2023 pm 03:00 PM

llet、var、const分別代表區塊作用域變數、函數作用域變數和常數。詳細介紹:1、let,用於聲明一個塊作用域的變量,使用let聲明的變量不能在它被聲明之前被訪問,這就是所謂的暫時性死區;2、var,用來聲明變量的關鍵字,宣告的變數是函數作用域或全域作用域的,不受區塊級作用域的限制;3、const,用來宣告一個常數,一旦被賦值就不能再重新賦值的變量,值在宣告後不能被修改等。

See all articles