Maison  >  Article  >  développement back-end  >  Comment convertir des nombres minuscules en majuscules en php

Comment convertir des nombres minuscules en majuscules en php

PHPz
PHPzoriginal
2023-04-21 09:08:06727parcourir

Lors du traitement de données, nous rencontrons souvent le besoin de convertir des nombres minuscules en nombres majuscules. En PHP, gérer cette situation est également très simple.

La méthode de traitement spécifique peut être facilement mise en œuvre à travers les trois étapes suivantes.

Première étape : définir les caractères majuscules correspondant aux chiffres

Lors de la conversion de nombres minuscules en nombres majuscules, vous devez préparer une table de correspondance pour établir les nombres et les caractères majuscules correspondants à appeler lors du traitement ultérieur.

Par exemple, ce qui suit est un tableau de correspondance entre les nombres de 1 à 10 et les nombres chinois majuscules :

$cnNum = array(
    1 => '壹',
    2 => '贰',
    3 => '叁',
    4 => '肆',
    5 => '伍',
    6 => '陆',
    7 => '柒',
    8 => '捌',
    9 => '玖',
    10 => '拾'
);

De plus, il convient de noter que le nombre « 0 » n'a pas de caractère correspondant en majuscule, et le jugement et le traitement sont requis lors du traitement.

Étape 2 : Représenter les nombres saisis sous forme de tableau

Dans le processus de conversion des nombres minuscules en nombres majuscules, nous devrons décomposer les nombres saisis et convertir chaque nombre en caractère majuscule correspondant.

Pour ce faire, nous devons convertir le nombre d'entrée en un tableau pour le traitement traversant.

//将输入的数字转变为一个数组
$nums = str_split($num);

//对于数字 0 的处理
if($num == 0){
    return '零';
}

Étape 3 : Parcourez le tableau et convertissez tour à tour chaque nombre en majuscule correspondant

Après avoir converti le nombre d'entrée en tableau et effectué un traitement spécial, nous pouvons parcourir le tableau et convertir chaque nombre tour à tour dans la boucle Convertir aux caractères majuscules correspondants.

//将数字转换为大写中文数字
$result = '';
foreach($nums as $key => $val){
    $result .= $cnNum[$val];
    if(count($nums) - 1 == $key){    //判断是否为最后一个数字
        break;
    }
    $index = count($nums) - 1 - $key;    //计算数字位数
    $result .= $cnDigit[$index];
}

Une fois le parcours terminé, nous pouvons obtenir le résultat de la conversion des nombres minuscules en nombres majuscules.

L'implémentation spécifique du code est la suivante :

function num2cnUpper($num){

    //定义大写数字对应数组
    $cnNum = array(
        1 => '壹',
        2 => '贰',
        3 => '叁',
        4 => '肆',
        5 => '伍',
        6 => '陆',
        7 => '柒',
        8 => '捌',
        9 => '玖',
        10 => '拾'
    );

    //定义位数对应的数字
    $cnDigit = array(
        1 => '',
        2 => '拾',
        3 => '佰',
        4 => '仟',
        5 => '万',
        6 => '拾万',
        7 => '佰万',
        8 => '仟万'
    );

    //将输入的数字转变为一个数组
    $nums = str_split($num);

    //对于数字 0 的处理
    if($num == 0){
        return '零';
    }

    //将数字转换为大写中文数字
    $result = '';
    foreach($nums as $key => $val){
        $result .= $cnNum[$val];
        if(count($nums) - 1 == $key){    //判断是否为最后一个数字
            break;
        }
        $index = count($nums) - 1 - $key;   //计算数字位数
        $result .= $cnDigit[$index];
    }

    return $result;
}

//测试
echo num2cnUpper(2019);    //输出:贰仟壹拾玖
echo num2cnUpper(0);       //输出:零

En résumé, la méthode de conversion des nombres minuscules en nombres majuscules en PHP est relativement simple. Vous devez préparer un tableau correspondant, représenter les nombres dans un tableau et parcourir le tableau. pour convertir chacun, convertissez simplement les nombres en caractères majuscules correspondants.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn