導航:首頁 > 編程語言 > php轉化為數字

php轉化為數字

發布時間:2023-01-24 18:18:48

php將整數數字轉換為羅馬數字實例分享

方法一:自定義函數
我們可以自己手動編寫一個函數來實現此功能,這個函數可以將數字作為第一個參數,將其轉換為羅馬並返回。
註:大多數演算法只能在1-4999的范圍內工作,如果使用特大數,腳本將失敗。
實現代碼:
<?php
header("content-type:text/html;charset=utf-8");
//將數字轉換為羅馬表示形式
function
numberToRoman($num)
{
//
Be
sure
to
convert
the
given
parameter
into
an
integer
$n
=
intval($num);
$result
=
'';
//
Declare
a
lookup
array
that
we
will
use
to
traverse
the
number:
$lookup
=
array(
'M'
=>
1000,
'CM'
=>
900,
'D'
=>
500,
'CD'
=>
400,
'C'
=>
100,
'XC'
=>
90,
'L'
=>
50,
'XL'
=>
40,
'X'
=>
10,
'IX'
=>
9,
'V'
=>
5,
'IV'
=>
4,
'I'
=>
1
);
foreach
($lookup
as
$roman
=>
$value)
{
//
Look
for
number
of
matches
$matches
=
intval($n
/
$value);
//
Concatenate
characters
$result
.=
str_repeat($roman,
$matches);
//
Substract
that
from
the
number
$n
=
$n
%
$value;
}
return
$result;
}
echo
'整數數字轉換為羅馬數字:<br><br>';
//
VIII
echo
'數字8:'.numberToRoman(8).'<br>';
//
CXXIII
echo
'數字123:'.numberToRoman(123).'<br>';
//
MMCCCLV
echo
'數字2355:'.numberToRoman(2355).'<br>';
//
MMMMCMXCIX
echo
'數字4999:'.numberToRoman(4999).'<br>';
?>
輸出:
方法二:使用Romans庫
Romans庫是一個非常簡單的PHP羅馬數字型檔,允許您將整數轉換為其羅馬表示,反之亦然。
註:如果沒有該庫,請先需要安裝;安裝好Romans庫後,就能夠使用其命名空間並使用可幫助轉換數字的函數。
Romans庫包含一對簡單的過濾器,用於將具有羅馬數字的字元串轉換為表示輸入為十進制的int,將十進制int轉換為具有羅馬數字作為結果的字元串。
1、整數轉換為羅馬數字
要將整數轉換為羅馬表示,需要使用IntToRoman類,創建一個實例並從中調用filter方法。此方法將數字作為第一個參數,並返回帶有羅馬數字的字元串:
<?php
use
Romans\Filter\IntToRoman;
$filter
=
new
IntToRoman();
$result
=
$filter->filter(1999);
echo
$result;
?>
輸出:
MCMXCIX
2、羅馬數字轉換為整數
要將羅馬數字轉換為整數表示,需要使用RomanToInt類,創建一個實例並從中調用filter方法。此方法將使用羅馬數字的字元串作為第一個參數,並返回一個帶數值的整數:
<?php
use
Romans\Filter\RomanToInt;
$filter
=
new
RomanToInt();
$result
=
$filter->filter('MCMXCIX');
echo
$result;
?>
輸出:
1999
您可能感興趣的文章:PHP5中使用mysqli的prepare操作資料庫的介紹PHP中單例模式的使用場景與使用方法講解PHP自動生成縮略圖函數的源碼示例PHP添加文字水印或圖片水印的水印類完整源代碼與使用示例PHP實現對數字分隔加千分號的方法PHP生成指定范圍內的N個不重復的隨機數PHP中十六進制顏色與RGB顏色值互轉的方法Ubuntu16.04搭建php5.6Web伺服器環境PHP標准庫(PHP
SPL)詳解PHP後台備份MySQL資料庫的源碼實例

⑵ php將字元串中的阿拉伯數字轉換為中文數字

為了方便調用我喜歡使用函數的方法

<?php
functionnumToWord($num)
{
$chiNum=array('零','一','二','三','四','五','六','七','八','九');
$chiUni=array('','十','百','千','萬','億','十','百','千');

$chiStr='';

$num_str=(string)$num;

$count=strlen($num_str);
$last_flag=true;//上一個是否為0
$zero_flag=true;//是否第一個
$temp_num=null;//臨時數字

$chiStr='';//拼接結果
if($count==2){//兩位數
$temp_num=$num_str[0];
$chiStr=$temp_num==1?$chiUni[1]:$chiNum[$temp_num].$chiUni[1];
//當以1開頭都是十一,十二,以十開頭的我們就取$chiUni[i]也就是十
當不是以1開頭時,而是以2,3,4,我們取這個數字相應的中文並拼接上十
$temp_num=$num_str[1];
$chiStr.=$temp_num==0?'':$chiNum[$temp_num];
//取得第二個值並的到他的中文
}elseif($count>2){
$index=0;
for($i=$count-1;$i>=0;$i--){
$temp_num=$num_str[$i];//獲取的個位數
if($temp_num==0){
if(!$zero_flag&&!$last_flag){
$chiStr=$chiNum[$temp_num].$chiStr;
$last_flag=true;
}
}else{
$chiStr=$chiNum[$temp_num].$chiUni[$index%9].$chiStr;
//$index%9index原始值為0,所以開頭為0後面根據循環得到:0,1,2,3...(不知道為什麼直接用$index而是選擇$index%9畢竟兩者結果是一樣的)
//當輸入的值為:1003,防止輸出一千零零三的錯誤情況,$last_flag就起到作用了當翻譯倒數第二個值時,將$last_flag設定為true;翻譯第三值時在if(!$zero&&!$last_flag)的判斷中會將其攔截,從而跳過
$zero_flag=false;
$last_flag=false;
}
$index++;
}
}else{
$chiStr=$chiNum[$num_str[0]];//單個數字的直接取中文
}
return$chiStr;
}
echonumToWord(12345);
?>

結果截圖:

⑶ php 如何將 字元串 轉換為 數字

不需要轉,PHP會自動處理

⑷ php 字元串轉換成數字

整數 intval($string, 10); 第二個參數表示轉換為10進制整數
不一定是整數 floatval($string)

⑸ php 26位字母轉換成數字

<?php
$str="aa";//寫你想要算的字元串;
$v;
function getv($s){
$arr=str_split($s,1);
for ($i=0;$i<strlen($s);$i++)
{
$v=gett($arr[$i])*getw(strlen($s)-$i-1)+$v;
}
echo $v;
}
function getw($w){
$x=1;
for ($i=0;$i<$w;$i++){
$x=26*$x;
}
return $x;
}
function gett($ch){
return (ord($ch)-96);
}
echo getv($str);
?>

aa,剛好就是27.你試試吧

⑹ PHP如何格式化數字

PHP格式化數字的函數是number_format

我建議你去下載一個PHP的使用手冊,或者看網上的在線手冊也行。

http://www.itlearner.com/code/php/

關於他的用法如下:

語法: string number_format(float number, int [decimals], string [dec_point], string [thousands_sep]);

返回值: 字元串

函數種類: 數學運算

內容說明

本函數用來將浮點參數 number 格式化。若沒加參數 decimals 則返回的字元串只要整數部份,加了此參數才依參數指定的小數點位數返回。參數 dec_point 表示小數點的表示方式方法,默認值是 ".",若需要轉換成其它的小數點就可以在這個參數改掉。參數 thousands_sep 為整數部份每三位的分隔符號,默認值是 ","。本函數最特別的地方就是參數數目,最少要有一個,也就是欲格式化的字元串;也可以有二個或者四個參數,但不能用三個參數。治募�注意的是指定小數點的位數之後的數字直接舍棄,沒有四捨五入的情形。

使用範例

<?
$short_pi = "3.14159";
$my_pi = number_format($short_pi, 2);
echo $my_pi."\n"; // 3.14
$foo = 850017.9021;
$new_foo = number_format($foo, 3, ".", " ");
echo $new_foo."\n"; // 850 017.902
?>

⑺ PHP如何將從二進制文件中讀取的位元組轉換為數字

bindec函數可轉換二進制數為十進制數

⑻ php怎麼把數組里的數字值轉義成純數字

1、你可以用current來輸出:

echocurrent($_clean['ids']);

2、implode函數生成的本領就是個字元串,本來就可以用echo輸出……

⑼ PHP 怎麼用parseInt

parseInt是javascript中的函數,用於將指定進制的數字字元串轉換為十進制數字,第一個參數為待轉換的字元串,第二個參數為字元串的進制數,默認為10。

在php中如果要將字元串轉為數字,可以用intval函數:

intintval(mixed$var[,int$base=10])

通過使用指定的進制 base 轉換(默認是十進制),返回變數 var的 integer 數值。 intval() 不能用於 object,否則會產生 E_NOTICE 錯誤並返回 1。

var變數為要轉換成 integer 的數量值

base變數可選,默認為10,為轉化所使用的進制

如果 base 是 0,通過檢測 var 的格式來決定使用的進制:

成功時返回 var 的 integer 值,失敗時返回 0。空的 array 返回 0,非空的 array 返回 1。

用法基本與JavaScript中的parseInt一致。

⑽ php編程:將26位字母進制轉換為10進制數字,如何做

主要是加權法。
10進制結果=∑各位上的值*(進制數^各位權值)
a^b表示a的b次方。
比如你說的26進制
a->1
s->19
d->4
那麼asd=1*(26^2)+19*(26^1)+4*(26^0)=1174(10進制)
如果是8進制數456=4*(8^2)+5*(8^2)+6*(8^0)=302(10進制)

分太少,不寫源程序了,建立索引數組$arr[a]=1$,arr[b]=2..
再把輸入的字母拆成單字元倒序數組使得$single[2]=a,$single[1]=s,$single[0]=d,按上面方法權值相加。
你懂的。

閱讀全文

與php轉化為數字相關的資料

熱點內容
考駕照怎麼找伺服器 瀏覽:882
阿里雲伺服器如何更換地區 瀏覽:970
手機app調音器怎麼調古箏 瀏覽:501
銳起無盤系統在伺服器上需要設置什麼嗎 瀏覽:17
紅旗計程車app怎麼應聘 瀏覽:978
如何編寫linux程序 瀏覽:870
吉利車解壓 瀏覽:248
java輸入流字元串 瀏覽:341
安卓軟體沒網怎麼回事 瀏覽:785
dvd壓縮碟怎麼導出電腦 瀏覽:274
冒險島什麼伺服器好玩 瀏覽:541
如何在伺服器上做性能測試 瀏覽:793
命令序列錯 瀏覽:259
javaif的條件表達式 瀏覽:576
手機app上傳的照片怎麼找 瀏覽:531
雲伺服器面臨哪些威脅 瀏覽:748
c語言各種編譯特點 瀏覽:177
路由器多種加密方法 瀏覽:604
程序員阻止電腦自動彈出定位 瀏覽:168
如何做伺服器服務商 瀏覽:763