今天運營新增商品時報了乙個詭異的錯誤,但並沒有發版本,應該時資料輸入的問題
碰到報錯:
a non well formed numeric value encountered定位**:
/** 操作,入庫的**(提交後操作後方可入庫)
* 單位分 *100
*/function price4operate($price)
$price = number_format($price, 2, ".", "") * 100;
$price = $price > 0 ? $price : 0;return $price;
}
傳入的$price是資料不是int型別的,可能是varchar等等解決方法:
可以使用float()或者floatval函式將非格式良好的資料轉換成良好的資料型別就ok了!
其實這種類似因為資料轉換或計算而報錯的場景也會有,$price = number_format((float)$price, 2, ".", "") * 100;
比如在php計算除法時,被除數時0,同樣也會報類似的錯誤
關鍵需要我們程式設計師在寫**的時候要嚴謹可能發生的場景,提前做到判斷。
author:hann
number format 函式詳解
格式化數字字串。語法 string number format float number,int decimals string dec point string thousands sep 傳回值 字串 函式種類 數 算 內容說明 本函式用來將浮點引數 number 格式化。若沒加引數 decim...
有意思的number format
申明 這是個人原創,在cnblogs上也有,都是自己寫的所以放原創了。number format number,decimals,decimalpoint,separator 有四個引數,第乙個和第二個引數是必須的,第三個和第四個是可選項。但實際測試中第三個和第四個這兩個引數必須同時存在,也就是要麼...
NumberFormat類實際應用
package numberformat.cn import j a.text.numberformat numberformat 是所有數值格式的抽象基類 由於 抽象類必須要通過多型來例項化,但是numberformat中有乙個靜態方法,可以直接取得例項化物件 static numberforma...