php實現(xiàn)數(shù)字轉(zhuǎn)億萬單位的示例代碼
實現(xiàn)思路
1.將輸入的數(shù)字乘以100,得到一個整數(shù)。
2.計算該整數(shù)的長度,即數(shù)字的長度。
3.根據(jù)長度判斷數(shù)字的單位:
如果長度大于10,則數(shù)字的單位為億。將原數(shù)字乘以0.000000001,并保留兩位小數(shù),最后加上單位"億"。
如果長度大于6,則數(shù)字的單位為萬。將原數(shù)字乘以0.00001,并保留兩位小數(shù),最后加上單位"萬"。
否則,數(shù)字的單位為個。將原數(shù)字乘以0.01,并保留兩位小數(shù)。
4.返回帶單位的字符串。 注意:在計算過程中,使用了floor函數(shù)取整,以及substr_replace函數(shù)替換字符串中的字符。最后返回的字符串形式的數(shù)字采用了四舍五入取兩位小數(shù)的方式。
示例代碼
<?php function float_number($number){ $number = $number*100; $length = strlen(floor($number)); //數(shù)字長度 if($length > 10){ //億單位 $str = round(substr_replace(floor($number * 0.000000001),'.',-1,0),2)."億"; }elseif($length >6){ //萬單位 //截取前倆為 $str = round(($number * 0.00001) * 0.1,2)."萬"; }else{ $str = round($number*0.01,2); } return $str; } $number = 1235989545; echo float_number($number);
方法補(bǔ)充
除了上文的方法,小編還為大家整理了其他php實現(xiàn)數(shù)字、單位轉(zhuǎn)化的相關(guān)方法,希望對大家有所幫助
方法一:
例如21234需要轉(zhuǎn)換為2.1萬,281456789需要轉(zhuǎn)換為2.8億
/** * 格式化數(shù)字 */ public function float_number($number){ $length = strlen($number); //數(shù)字長度 if($length > 8){ //億單位 $str = substr_replace(floor($number * 0.0000001),'.',-1,0)."億"; }elseif($length >4){ //萬單位 //截取前倆為 $str = floor($number * 0.001) * 0.1."萬"; }else{ return $number; } return $str; }
方法二:
PHP 數(shù)字轉(zhuǎn)漢字
<?php $arrayNumber = [ '0' => '零', '1' => '一', '2' => '二', '3' => '三', '4' => '四', '5' => '五', '6' => '六', '7' => '七', '8' => '八', '9' => '九', ]; $arrayUnit = [ '0' => '', '1' => '十', '2' => '百', '3' => '千', '4' => '萬', '5' => '十', '6' => '百', '7' => '千', '8' => '億', '9' => '十', '10' => '百', '11' => '千', ]; $number = (string)123456789; $numberLength = strlen($number); $s = 0; $str = ''; // 如果是兩位數(shù) if($numberLength == 2 && $number[0] == 1){ if($number[1] == 0){ $str .= $arrayUnit[1]; }else{ $str .= $arrayUnit[1].$arrayNumber[$number[1]]; } echo $str; return $str; } // 不是兩位數(shù) for ($i=$numberLength; $i > 0; $i--) { if($s == $numberLength - 1 && $number[$s] == 0){ }elseif($number[$s] == 0 && $number[$s+1] == 0){ //echo $s; if( ( $numberLength - $s) == 5 && $numberLength < 9){ $str .= '萬'; } if( ($numberLength - $s) == 9 && $numberLength > 8){ $str .= '億'; } $s++; }elseif($number[$s] == 0 && $number[$s+1] != 0){ if( ($numberLength - $s) == 5 ){ $str .= '萬'; }elseif( ($numberLength - $s) == 9 && $numberLength > 8){ $str .= '億'; }else{ $str .= $arrayNumber[$number[$s]]; } $s++; }else{ $str .= $arrayNumber[$number[$s]].$arrayUnit[$i-1]; $s++; } } echo $str; return $str;
到此這篇關(guān)于php實現(xiàn)數(shù)字轉(zhuǎn)億萬單位的示例代碼的文章就介紹到這了,更多相關(guān)php數(shù)字轉(zhuǎn)億萬單位內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP+.htaccess實現(xiàn)全站靜態(tài)HTML文件GZIP壓縮傳輸(一)
PHP+.htaccess實現(xiàn)全站靜態(tài)HTML文件GZIP壓縮傳輸(一)...2007-02-02PHP實現(xiàn)數(shù)組根據(jù)某個單元字段排序操作示例
這篇文章主要介紹了PHP實現(xiàn)數(shù)組根據(jù)某個單元字段排序操作,結(jié)合實例形式分析了php基于array_multisort函數(shù)降序排序操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2018-08-08Uncaught exception com_exception with message Failed to crea
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `InternetExplorer.Application': 拒絕訪問2012-01-01php下把數(shù)組保存為文件格式的實例應(yīng)用
我們通常把一些常用的數(shù)據(jù)保存為數(shù)組格式方便調(diào)用,同時這也是緩存的重要方法。2010-02-02記錄PHP錯誤日志 display_errors與log_errors的區(qū)別
錯誤回顯,一般常用語開發(fā)模式,但是很多應(yīng)用在正式環(huán)境中也忘記了關(guān)閉此選項。錯誤回顯可以暴露出非常多的敏感信息,為攻擊者下一步攻擊提供便利。推薦關(guān)閉此選項2012-10-10PHP從零開始打造自己的MVC框架之入口文件實現(xiàn)方法詳解
這篇文章主要介紹了PHP從零開始打造自己的MVC框架之入口文件實現(xiàn)方法,結(jié)合具體實例形式分析了php實現(xiàn)MVC框架入口文件的原理、定義及使用方法,需要的朋友可以參考下2019-06-06