与number_format函数有关的一个bug?
? ? ? 最近在做一個(gè)模仿excel功能的在線項(xiàng)目。其中有一個(gè)功能,數(shù)據(jù)列表中的數(shù)據(jù),到了最后一列都要進(jìn)行總計(jì)。這本來沒什么難度。直接從數(shù)據(jù)庫取出數(shù)據(jù)后,進(jìn)行foreach相加就行 了。這是如此的簡單,以至于用了不到五分鐘寫就了功能,根本沒把腦子帶在身上。
? ? ?兩天后的一次不經(jīng)意的瀏覽頁面,發(fā)現(xiàn)統(tǒng)計(jì)的結(jié)果不對。于是左思右想,竟然沒有發(fā)現(xiàn)我的計(jì)算有什么邏輯上的bug。但沒有bug,最后的計(jì)算結(jié)果不對,肯定是哪里有問題,只是我現(xiàn)在沒有發(fā)現(xiàn)而已。
? ? 后來反復(fù)輸出原始數(shù)據(jù),竟然發(fā)現(xiàn),從數(shù)據(jù)庫取出的數(shù)據(jù)是經(jīng)過number_format處理過的結(jié)果,千分位上加上了逗號,已經(jīng)變成了一個(gè)字符串。相加的時(shí)候我還使用了強(qiáng)制類型轉(zhuǎn)換(int)使數(shù)字字符串變成int類型,方便相加。
? ? 明白的問題之后,就好采取方法修復(fù)bug了。既然是多了一個(gè)逗號,那么我們把這個(gè)逗號都去掉就好了吧。于是用了str_replace函數(shù),把逗號換成""空字符串。這樣自然數(shù)據(jù)轉(zhuǎn)成了字符串?dāng)?shù)字,然后再強(qiáng)制轉(zhuǎn)換城int類型。
? ? 最后統(tǒng)計(jì)的結(jié)果算出來了,數(shù)據(jù)是很長的一串。非常不便于閱讀。于是還要把最后的統(tǒng)計(jì)結(jié)果還要用number_format來再次千分位加逗號,讓統(tǒng)計(jì)數(shù)據(jù)最好讓用戶理解。
?
?
進(jìn)入公司即將三個(gè)月,也見了大牛們寫的代碼。結(jié)合自己的性格以及習(xí)慣,談?wù)劺斫狻?/p>
首先程序員不是碼農(nóng),每天從事的工作,不是在和一堆無意義的字符在打交道,程序的工作更像是作家,用文字去寫一個(gè)故事。
代碼的整齊與否,至關(guān)最要,我認(rèn)為在所有要素里,代碼是否整齊,是最最重要的。
一篇整整齊齊的代碼,先不從理解的角度去看。舒適的排版,得當(dāng)?shù)牧舭?#xff0c;清晰明了的注釋,會讓后續(xù)看代碼的人感覺到這是一篇用心寫作的代碼,浮躁的心情也會慢慢沉靜下來。
如果連基本的變量等號都不對齊,真只能是糟糕透了。下次就像自己看自己的代碼的時(shí)候,也覺得惡心。
變量的命名一定要規(guī)范。你可以有自己的變量命名規(guī)范,如果小組開發(fā)中有自己的開發(fā)規(guī)范,那一定要遵守。
變量的命名盡量采用英文的命名,我使用的是小駝峰命名,即第一個(gè)單詞小寫,第二個(gè)單詞首字母大寫。
肯能我自己做過設(shè)計(jì)的原因吧,任何一件東西,首先要好看,其次再去談用著怎么樣。
畢竟,代碼你每天都要去看他,實(shí)在不忍心自己的世界里都是荒亂無序的代碼。
愿代碼如詩,愿生活如虹。
?
轉(zhuǎn)載于:https://www.cnblogs.com/roverliang/p/4819303.html
總結(jié)
以上是生活随笔為你收集整理的与number_format函数有关的一个bug?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AFM测试探针简介-科学指南针
- 下一篇: js:获取本周日期