php字符串中的數字,php獲取字符串中的數字

本文目錄一覽:

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

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

?php

function numToWord($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];

//取得第二個值並的到他的中文

    }else if($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%9 index原始值為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;

}

echo numToWord(12345);

 ?

結果截圖:

php 獲取字符串的數字

?php

header(‘content-type:text/html;charset=utf-8;’);//utf-8編碼,避免亂碼

$str=’2、小孩自費項目:香溪古堡    (0.8米以下免票,0.8—1.2米25元,1.2米以上50元)br/’;

$data=array();//找到的數字放這裡

$newdata=array();//替換的格式放這裡

$num=preg_match_all(“/[^](\d+\.)?\d+/”,$str,$re,PREG_PATTERN_ORDER);//用正則表達式把數字全找出來

foreach($re[‘0’] as $value){

preg_match(“/(\d+\.)?\d+/”,$value,$value2);//會匹配到非 # 61618的字符,所以還要清除掉那些非 # 61618得字符

$data[]=$value2[0];

}

$data=array_unique($data);//清理相同值(避免重複替換)

foreach($data as $value)

$newdata[]=”span style=\”color:red\”{$value}/span”;

$str=str_replace($data,$newdata,$str);//替換

echo “{$str}br/”;//輸出測試

?

親,在php5.3下通過測試,發現bug請告訴我,注釋不夠請追問喲!

php怎麼把字符串中的數字取出來

解決這個問題的辦法,可以使用如下方法:

一、通過遍歷字符串,並對字符進行判斷。

二、使用正則表達式,取出數字。

原創文章,作者:KXSH,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/141158.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KXSH的頭像KXSH
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python循環符合要求數字求和

    這篇文章將詳細介紹如何通過Python循環符合要求數字求和。如果你想用Python求和但又不想手動輸入數字,那麼本文將是一個不錯的選擇。 一、使用while循環實現求和 sum =…

    編程 2025-04-29
  • Python中將字符串轉化為浮點數

    本文將介紹在Python中將字符串轉化為浮點數的常用方法。在介紹方法之前,我們先來思考一下這個問題應該如何解決。 一、eval函數 在Python中,最簡單、最常用的將字符串轉化為…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • Python學習筆記:去除字符串最後一個字符的方法

    本文將從多個方面詳細闡述如何通過Python去除字符串最後一個字符,包括使用切片、pop()、刪除、替換等方法來實現。 一、字符串切片 在Python中,可以通過字符串切片的方式來…

    編程 2025-04-29
  • Python基本數字類型

    本文將介紹Python中基本數字類型,包括整型、布爾型、浮點型、複數型,並提供相應的代碼示例以便讀者更好的理解。 一、整型 整型即整數類型,Python中的整型沒有大小限制,所以可…

    編程 2025-04-29
  • Python數字求和怎麼寫

    在Python中實現數字求和非常簡單,下面將從多個方面對Python數字求和的實現方法做詳細的闡述。 一、直接使用「+」符號進行求和 a = 10 b = 20 c = a + b…

    編程 2025-04-29
  • Python打印數字三角形

    本文將詳細闡述如何使用Python打印數字三角形,包括從基本代碼實現到進階操作的應用。通過本文的學習,您可以掌握Python的基礎語法,同時加深對Python循環和函數的理解,提高…

    編程 2025-04-29
  • Python提取連續數字

    本文將介紹如何使用Python提取一個字符串中的連續數字。 一、使用正則表達式提取 正則表達式是一種可以匹配文本片段的模式。Python內置了re模塊,可以使用正則表達式進行字符串…

    編程 2025-04-29

發表回復

登錄後才能評論