php 格式化數字的時候注意數字的範圍

2022-09-29 05:12:09 字數 1256 閱讀 1834

構造sql語句是 比起來

複製** **如下:

$sql = 'select *

from sdb_comments

where goods_id = '.intval($goods_id).'

and for_comment_id is null

and object_t程式設計客棧ype = ".$item."

and disabled="false"

and display = "true"';

我更喜歡這樣做:

複製** **如下:

$sql = sprintf('select *

from sdb_comments

where goods_id = %.0f

and for_comment_id is null

and object_type = "%s"

and disabled="false"

and display = "true"', (float)$goods_id, $item);

這個語句還算 簡單,如果是更複雜的話,用拼接字串的話,那簡直就是乙個噩夢。

使用第二種方式的話,比較方便.但是乙個小問題:在格式化數字的時候就需要注意其取值範圍。數字操作了取值反問。那麼最後返回的sql 也不是我們需要的。

我今天做了個總結:

%d: 2^31~2^31-1www.cppcns.com(-2147483648~2147483647) (將int轉化為有符號十進位制)

%b:二進位制(將int型別的轉化為二進位制)

%c:字元(將int型別轉化為字元)程式設計客棧

%u: 2^32-1(0 ~ 4294967295) (將int轉化為有符號十進位制)

%f: -2^128-程式設計客棧2^128(-3.4e38 ~+3.4e38)(將float轉化為float) 本地化

%程式設計客棧f: -2^128-2^128(-3.4e38 ~+3.4e38)(將float轉化為float) 非本地化

%o (將int轉化為八進位制)

%s:字串

%x:將int轉化為小寫字母的十六進製制

%x:將int轉化為大寫字母的十六進製制

因為 資料庫中 id 可能會很大 如果使用%d的話,就可能出現因為超出了範圍,而到不到正確的結果。所以,個人建議 對id進行格式化的時候 使用%.0f 比 %d 要 好的多。

本文標題: php 格式化數字的時候注意數字的範圍

本文位址:

格式化數字

格式化數字 下表是可在format函式中用於格式化數字的字元。字元 說明0 數字佔位符。顯示乙個數字或0。如果表示式在格式字串中出現0的位置上有數字,則顯示該數字 否則在該位置顯示0。如果數字的位數少於格式表示式中 0 的個數 小數點任一側 則顯示前導零或尾隨零。如果數字的小數點分隔符右側的位數多於...

數字格式化

double pi 3.1415927 圓周率 取一位整數 system.out.println new decimalformat 0 format pi 3 取一位整數和兩位小數 system.out.println new decimalformat 0.00 format pi 取兩位整數和...

數字格式化

x 3.1415926535 round x,2 out 1 3.14in 2 round x,2 out 2 3.14in 3 當位於中間時候,取整偏向最近的偶數 y 1.5 z 2.5 round y out 3 2in 4 round z out 4 2in 5 round 1.6 out 5...