一般交易中保留的數字的小數字數為2位(即最小單位為 1分錢【0.01元】)
資料庫設計中預金錢有關或要求精準度要高的用 decimal(n,m) 表示,n表示保留的數字長度,保留的小數字數,如decimal(5,2) 對應的最大值 999.99
然而在mysql 中進行浮點數計算時,資料就需要進行擷取保留
以下是一些保留小數字數的方法
mysql中:
方法一:truncate() 直接擷取不四捨五入
select truncate(4545.1366,2);
執行結果:4545.13
方法二:format() 四捨五入,整數部分超過三位的時候以逗號分割,並且返回的結果是string型別的。
select format(4545.1366,2);
執行結果:4,545.14
方法三:四捨五入 ,適合金錢保留計算
select convert(4545.1366,decimal(6,2));
執行結果:4545.14
備註:mysql 的cast()和convert()函式可用來獲取乙個型別的值,並產生另乙個型別的值。
cast
(value
as
type);
convert
(value, type);
可以轉換的型別(type
)是有限制的。這個型別可以是以下值其中的乙個:
php中:
四捨五入法:
$num = 4545.1366;
//第一種:利用round()對浮點數進行四捨五入
var_dump(round($num,2)); //float 4545.14
//第二種:利用sprintf格式化字串
$format_num = sprintf("%.2f",$num);
var_dump($format_num); //string '4545.14'
//第三種:利用千位分組來格式化數字的函式number_format()
var_dump(number_format($num, 2)); //string '4,545.14'
//或者如下
var_dump(number_format($num, 2, '.', ''));// string '4,545.14'
//number_format(float number, int [decimals], string [dec_point規定用作小數點的字串], string [thousands_sep規定用作千位分隔符的字串,
//注釋:如果設定了該引數,那麼所有其他引數都是必需的。])
不四捨五入:
$format_num = sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -1));
var_dump
($format_num
); //string '4545.13'
取整ceil() 向上取整
floor() 向下取整
php保留兩位小叔 php怎麼保留2位小數
方法 1 使用round 函式進行四捨五入,語法 round 浮點數,2 2 利用sprintf 函式,語法 sprintf 2f 浮點數 3 使用format 函式進行四捨五入,語法 format 浮點數,2 php怎麼保留2位小數?num 4.30258 第一種 利用php round方法對浮點...
JS保留2位小數
js保留兩位小數 對於一些小數點後有多位的浮點數,我們可能只需要保留2位,但js沒有提供這樣直接的函式,所以我們得自己寫函式實現這個功能,如下 function changetwodecimal x var f x math.round x 100 100 return f x 功能 將浮點數四捨五...
C 保留2位小數
場景1 c 保留2位小數,tostring f2 確實可以,但是如果這個數字本來就小數點後面三位比如1.253,那麼轉化之後就會變成1.25.可不可以剛好保留到最後一位不是0的位置?預設保留2位,如果真的有3位小數,就保留3位,有4位就保留4位。先說一下tostring 0.00 中0和 的區別 0...