亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
2。浮點(diǎn)表示錯(cuò)誤
3。 ceil ceil()floor()負(fù)數(shù)為負(fù)數(shù)
4。類型處理和邊緣殼
關(guān)鍵要點(diǎn)的摘要
首頁(yè) 後端開發(fā) php教程 數(shù)值精度的細(xì)微差別:`round()`,`ceil()

數(shù)值精度的細(xì)微差別:`round()`,`ceil()

Jul 29, 2025 am 04:55 AM
PHP Math

round()使用“圓的一半到偶”,而不是“圓形的一半”,因此(2.5)返回2和圓(3.5)返回4,以最小化統(tǒng)計(jì)偏見,這可能會(huì)讓那些期望傳統(tǒng)圓形的人感到驚訝。 2。浮點(diǎn)數(shù)表示錯(cuò)誤導(dǎo)致數(shù)字不準(zhǔn)確地存儲(chǔ)(例如,2.674999999999997),導(dǎo)致回合(2.675,2)返回2.67而不是返回2.67,而不是2.68,使Decimal.Decimal.Decimal with round_half_up進(jìn)行準(zhǔn)確的decal decimal folder formal forme decimal folders formal。 3。 CEIL()和落地()分別朝著正和負(fù)無(wú)窮大,因此Math.ceil(-2.3)返回-2(NOT -3)和Math.floor(-2.3)返回-3,這意味著數(shù)字線上的方向比基於大小的直覺更重要。 4。這些功能返回整數(shù)結(jié)果,但仍需要有效的輸入類型,因?yàn)闊o(wú)通行率會(huì)引起typeerror,極大的浮子可能會(huì)溢出,而INF/NAN輸入會(huì)產(chǎn)生INF或VALUERERROR,因此始終驗(yàn)證輸入並處理邊緣案例。了解這些行為可確保在財(cái)務(wù),科學(xué)和一般應(yīng)用中糾正使用。

數(shù)值精度的細(xì)微差別:`round()`,`ceil()

在編程中使用浮點(diǎn)數(shù)時(shí),看似簡(jiǎn)單的操作(例如圓形,舍入或舍入)可能會(huì)導(dǎo)致令人驚訝的結(jié)果,有時(shí)令人沮喪。每天都使用諸如round() , ceil()floor()之類的功能,但是它們的行為(尤其是在邊緣案例周圍)甚至可以使經(jīng)驗(yàn)豐富的開發(fā)人員旅行。讓我們分解細(xì)微差別和常見的陷阱。

數(shù)值精度的細(xì)微差別:`round()`,`ceil()

1。 round round()並不總是“圓形的一半”

許多人假設(shè)round()遵循傳統(tǒng)的教科書圓形(一半),但在Python和許多其他語(yǔ)言中,它使用“一半到均勻” (也被稱為銀行家的圓形)。

打?。▓A(2.5))#輸出:2
打?。▓A(3.5))#輸出:4

這是發(fā)生的事情:

數(shù)值精度的細(xì)微差別:`round()`,`ceil()
  • 2.5正好在2到3→回合之間到最接近的偶數(shù):2。
  • 3.5 →回合至4(甚至)。

這減少了統(tǒng)計(jì)計(jì)算中的偏見,但如果您期望2.5 → 3 ,可能會(huì)出乎意料。

陷阱:您期望一半向上圓形圓形,但基於奇偶校驗(yàn)會(huì)獲得不一致的結(jié)果。

數(shù)值精度的細(xì)微差別:`round()`,`ceil()

解決方法:如果您需要傳統(tǒng)的捨入:

導(dǎo)入數(shù)學(xué)
def round_half_up(n,小數(shù)= 0):
    乘數(shù)= 10 **小數(shù)
    返回?cái)?shù)學(xué)(n *乘數(shù)0.5) /乘數(shù)

2。浮點(diǎn)表示錯(cuò)誤

即使是基本的十進(jìn)制數(shù)字也不能總是以二進(jìn)制浮點(diǎn)數(shù)的準(zhǔn)確表示,從而導(dǎo)致微妙的錯(cuò)誤。

打?。▓A形(2.675,2))#輸出:2.67,而不是2.68!

為什麼?因?yàn)?code>2.675實(shí)際上是由於IEEE 754限製而存儲(chǔ)的2.6749999999999997 。

陷阱:您認(rèn)為您要捨入的十進(jìn)制,但是下面的浮子略低,因此它會(huì)落下。

解決方案:使用decimal.Decimal進(jìn)行精確算術(shù):

從小數(shù)進(jìn)口小數(shù),round_half_up
圓形=十進(jìn)制('2.675')。量化(十進(jìn)制('0.01'),圓形= round_half_up)
打印(圓形)#輸出:2.68

3。 ceil ceil()floor()負(fù)數(shù)為負(fù)數(shù)

ceil()floor()很簡(jiǎn)單 - 直到負(fù)數(shù)輸入圖片。

  • ceil(x) →最小整數(shù)大於或等於x
  • floor(x) →最大整數(shù)小於或等於x

示例:

導(dǎo)入數(shù)學(xué)
打印(Math.ceil(-2.3))#輸出:-2
打?。∕ath.floor(-2.3))#輸出:-3

很容易想到:

  • “ Ceil總是圓形”→但是“向上”是指向積極的無(wú)窮大。
  • “地板總是向下往下”→朝負(fù)無(wú)窮大。

陷阱:假設(shè)ceil(-2.3)-3 ,因?yàn)樗案杏X”就像倒轉(zhuǎn)。

提示:按數(shù)字方向思考:

  • ceil →向右移動(dòng)
  • floor →向左移動(dòng)

4。類型處理和邊緣殼

這些功能在邊緣輸入方面的行為不同:

 Math.floor(3.0)?!?(int)
(3.0)?!?(int in python,但在某些情況下漂?。?Math.ceil(3)?!?(int)

但:

回合(3.675,2)#返回浮動(dòng),即使整數(shù)

另外,請(qǐng)小心:

  • math.floor(None) →TypeError
  • 超出int範(fàn)圍的大型浮子→可能溢出
  • infnan
     Math.floor(float('inf'))?!鷌nf
    Math.ceil(float('nan'))#→valueerror或nan,具體取決於上下文

    關(guān)鍵要點(diǎn)的摘要

    • ?round round()使用一半均勻的一半,而不是金融四捨五入的直觀。
    • ?浮點(diǎn)不精確可以使round()奇怪地表現(xiàn)出來(lái) - 精確時(shí)使用Decimal 。
    • ?ceil ceil()floor()朝著正/負(fù)小度(而不是“向上”或“向下”)。
    • ?始終驗(yàn)證輸入類型,並考慮諸如inf , nan或大數(shù)字之類的邊緣值。

    基本上:一旦您理解它們的規(guī)則,這些功能就可以預(yù)測(cè),但是這些規(guī)則並不總是您對(duì)數(shù)學(xué)課的期望。了解默認(rèn)值,測(cè)試邊緣案例,並在金錢或精度在線時(shí)觸及Decimal

    以上是數(shù)值精度的細(xì)微差別:`round()`,`ceil()的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
在PHP中導(dǎo)航浮點(diǎn)不準(zhǔn)確的陷阱 在PHP中導(dǎo)航浮點(diǎn)不準(zhǔn)確的陷阱 Jul 29, 2025 am 05:01 AM

浮點(diǎn)數(shù)不精確是PHP中常見問(wèn)題,答案在於其使用IEEE754雙精度格式導(dǎo)致十進(jìn)制小數(shù)無(wú)法精確表示;1.0.1或0.2等數(shù)在二進(jìn)制中為無(wú)限循環(huán)小數(shù),計(jì)算機(jī)需截?cái)嘣斐烧`差;2.比較浮點(diǎn)數(shù)時(shí)應(yīng)使用容差而非==,如abs($a-$b)

數(shù)值精度的細(xì)微差別:`round()`,`ceil() 數(shù)值精度的細(xì)微差別:`round()`,`ceil() Jul 29, 2025 am 04:55 AM

round()uses"roundhalftoeven",not"roundhalfup",soround(2.5)returns2andround(3.5)returns4tominimizestatisticalbias,whichmaysurprisethoseexpectingtraditionalrounding.2.Floating-pointrepresentationerrorscausenumberslike2.675tobestored

處理加密貨幣計(jì)算:為什麼BCMATH在PHP中至關(guān)重要 處理加密貨幣計(jì)算:為什麼BCMATH在PHP中至關(guān)重要 Aug 01, 2025 am 07:48 AM

bcmathisesene forAccratecryptoCurrencyCalcalsionSinphpBecausefloing-pointarithmeticIntroducesunAcceptablebablerOundingErrors.1.floation-pointnumberslike0.1 0.2yieldimimpreciseresults(e.g.,e.g.,0.30000000000000000000004)

PHP中2D/3D圖形的矢量數(shù)學(xué)基礎(chǔ)知識(shí) PHP中2D/3D圖形的矢量數(shù)學(xué)基礎(chǔ)知識(shí) Jul 29, 2025 am 04:25 AM

AvectorinPHPgraphicsrepresentsposition,direction,orvelocityusingaclasslikeVector3Dwithx,y,zcomponents.2.Basicoperationsincludeaddition,subtraction,scalarmultiplication,anddivisionformovementandscaling.3.MagnitudeiscalculatedviathePythagoreantheorem,a

加速大量算術(shù):深入研究PHP的GMP擴(kuò)展 加速大量算術(shù):深入研究PHP的GMP擴(kuò)展 Jul 29, 2025 am 04:53 AM

GMPisessentialforhandlinglargeintegersinPHPbeyondnativelimits.1.GMPenablesarbitrary-precisionintegerarithmeticusingoptimizedClibraries,unlikenativeintegersthatoverfloworBCMaththatisslowerandstring-based.2.UseGMPforheavyintegeroperationslikefactorials

模塊化算術(shù)在PHP中的作用 模塊化算術(shù)在PHP中的作用 Jul 30, 2025 am 12:17 AM

ModularArithMeticisessentialInphPcryptographlicationsdeSpitePhpnotBeingAhigh-Performancelanguage; 2. ItunderPinspublic-keysystemsslikersaanddiffie-hellmanthranthroughoperationssuchasmodularexpormentiationAndirestiationAndIrverses; 3.php'snative; 3.php'snative; 3.php'snative;

構(gòu)建統(tǒng)計(jì)分析工具包:PHP中的均值,中位和標(biāo)準(zhǔn)偏差 構(gòu)建統(tǒng)計(jì)分析工具包:PHP中的均值,中位和標(biāo)準(zhǔn)偏差 Jul 30, 2025 am 05:17 AM

計(jì)算平均值:使用array_sum()除以元素個(gè)數(shù)得到均值;2.計(jì)算中位數(shù):排序後取中間值,偶數(shù)個(gè)元素時(shí)取中間兩個(gè)數(shù)的平均值;3.計(jì)算標(biāo)準(zhǔn)差:先求均值,再計(jì)算每個(gè)值與均值差的平方的平均數(shù)(樣本用n-1),最後取平方根;通過(guò)封裝這三個(gè)函數(shù)可構(gòu)建基礎(chǔ)統(tǒng)計(jì)工具類,適用於中小規(guī)模數(shù)據(jù)的分析,且需注意處理空數(shù)組和非數(shù)值輸入,最終實(shí)現(xiàn)無(wú)需依賴外部庫(kù)即可獲得數(shù)據(jù)的核心統(tǒng)計(jì)特徵。

解鎖計(jì)算能力:帶有PHP的GMP的階乘和斐波那契 解鎖計(jì)算能力:帶有PHP的GMP的階乘和斐波那契 Jul 29, 2025 am 04:37 AM

GMPisessentialforhandlinglargenumbersinPHPthatexceedstandardintegerlimits,suchasinfactorialandFibonaccicalculations,where1itenablesarbitrary-precisionarithmeticforaccurateresults;2itsupportsefficientcomputationoflargefactorialsusinggmp_init,gmp_mul,a

See all articles