返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php 汉字怎么转阿拉伯数
  • 168
分享到

php 汉字怎么转阿拉伯数

php 2017-05-15 08:05:00 168人浏览 无得
摘要

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php 汉字怎么转阿拉伯数?php中文转阿拉伯数字面试题,当时写了一个漏洞百出,被人鄙视了,所以回来用一上午写了一个,自己测试了一下,好像还可以。思路如中文数字 七百七十

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php 汉字怎么转阿拉伯数?

php中文转阿拉伯数字

面试题,当时写了一个漏洞百出,被人鄙视了,所以回来用一上午写了一个,自己测试了一下,好像还可以。

思路

如中文数字

七百七十八万亿四千七百二十亿七千五百七十万四千四百八十六

如果把红色文字看做单位,那么用这些单位分割后,其他部分都是个十百千的数字。把这些数字乘以其单位求和,就是结果了。

代码

function ch2num($str){
    //单位数组用于循环遍历,单位顺序从大到小
    $c = [
        '万亿'=>1000000000000,
        '亿' => 100000000,
        '万' => 10000,
    ];
    //中文替换数字规则,零没什么卵用;所以去掉
    $b = [
        '一' =>1,
        '二' =>2,    
        '三' =>3,
        '四' =>4,
        '五' =>5,
        '六' =>6,
        '七' =>7,
        '八' =>8,
        '九' =>9,
        '零' =>'',
    ];
    //替换数字
    $str =  str_replace(array_keys($b), array_values($b), $str);
    //结果 7百7十8万亿4千7百2十亿7千5百7十万4千4百8十
  //如果字符串以十开头,前边加1
    if(mb_strpos($str, '十' ,0 ,'utf-8') === 0)
        $str = '1'.$str;
      
    //初始化一个数组
    $arr[] = array(
        'str'    => $str, //字符串
        'unit'  => 1,     //单位
    );
    //将字符串按单位切分
    foreach ($c as $key => $value) {
        $brr = [];
        foreach ($arr as $item) {
            if(strpos($item['str'], $key)){
                $sun = explode($key, $item['str'],2);
                $brr[] = [
                    'str' => $sun[0],
                    'unit' => $value,
                ];
                $brr[] = [
                    'str' => $sun[1],
                    'unit' => $item['unit'],
                ];
            }else{
                $brr[] = $item;
            }
        }
        $arr = $brr;
    }
    
    //遍历求和
    $sum = 0;
    foreach ($arr as $item) {
        $sum += getNum($item['str'],$item['unit']);
    }
    return $sum;
}
//将分组后的字符串转化成数字,并乘以单位
function getNum($str,$st){
    //倍数
    $a = [
        '千'=>1000,
        '百'=>100,
        '十'=>10
    ];
    //开始值
    $num = 0;
    //当前值所在位数
    $step = 1;
    //单位
    $un = 1;
    $arr =  preg_split('/(?<!^)(?!$)/u', $str);
    while (count($arr)) {
        $m = array_pop($arr);
        //如果是位数;更新倍数
        if(!empty($a[$m])){
            $step = $a[$m];
        }
        if(is_numeric($m)){
            $num += $m * $step;
        }
    }
    return $num * $st;
}

--结束END--

本文标题: php 汉字怎么转阿拉伯数

本文链接: https://lsjlt.com/news/475.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • php 汉字怎么转阿拉伯数
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php 汉字怎么转阿拉伯数?php中文转阿拉伯数字面试题,当时写了一个漏洞百出,被人鄙视了,所以回来用一上午写了一个,自己测试了一下,好像还可以。思路如中文数字 七百七十...
    99+
    2017-05-15
    php
  • php汉字如何转阿拉伯数
    这篇文章主要介绍“php汉字如何转阿拉伯数”,在日常操作中,相信很多人在php汉字如何转阿拉伯数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php汉字如何转阿拉伯数”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-25
  • oracle中文数字转阿拉伯数字
    CREATE OR REPLACE FUNCTION chi2num(chivalue IN VARCHAR2) RETURN NUMBER IS  TYPE MAP IS TABLE OF BI...
    99+
    2024-04-02
  • 罗马数字与阿拉伯数字转换
    罗马数字与阿拉伯数字对应关系如下: 且“II”表示2,“III”表示3,“IV”表示4,“VI表示6”,“VII”表示7,“VIII”表示8,“IX”表示9,其余的类似。 阿拉伯数转换成罗马数字 class Solution(obje...
    99+
    2023-01-31
    罗马数字 阿拉伯数字
  • python中文大写怎么转阿拉伯数字
    本篇内容主要讲解“python中文大写怎么转阿拉伯数字”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中文大写怎么转阿拉伯数字”吧!整数部分主要是利用正则表达式进行检索,将对应项的数字...
    99+
    2023-06-02
  • 怎么在python中将中文数字转换成阿拉伯数字
    本篇文章为大家展示了怎么在python中将中文数字转换成阿拉伯数字,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。正则表达式提取文本中的数字import rem0 = &...
    99+
    2023-06-08
  • python将中文数字转化成阿拉伯数字的简单方法
    正则表达式提取文本中的数字 这里演示一下文本中提取中文年份 import re m0 = "在一九四九年新中国成立比一九九零年低百分之五点二人一九九六年击败俄军,取得实质独立"...
    99+
    2024-04-02
  • 学习python将中文数字转化成阿拉伯数字的方法
    这篇文章将为大家详细讲解有关学习python将中文数字转化成阿拉伯数字的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python将中文数字转化成阿拉伯数字正则表达式提取文本中的数字中文转化成阿拉伯数...
    99+
    2023-06-08
  • 怎么在Python中利用cn2an将中文数字与阿拉伯数字进行转换
    这篇文章主要介绍了怎么在Python中利用cn2an将中文数字与阿拉伯数字进行转换,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:python是什么意思Python是一种跨平台的、具有解释...
    99+
    2023-06-06
  • Python实现将罗马数字转换成普通阿拉伯数字的方法
    本文实例讲述了Python实现将罗马数字转换成普通阿拉伯数字的方法。分享给大家供大家参考,具体如下: 罗马数字,我们在某些电视中或者现实生活中都曾经看到过,近日,学习Python时,也遇到了罗马数字的解说,...
    99+
    2022-06-04
    罗马数字 阿拉伯数字 转换成
  • php汉字字符串怎么转数组
    这篇文章主要讲解了“php汉字字符串怎么转数组”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php汉字字符串怎么转数组”吧!说明首先创建一个PHP示例文件。然后定义一个汉字字符串;最后通过“...
    99+
    2023-06-20
  • php unicode怎么转成汉字
    在Web开发中,Unicode和汉字的相互转换是非常常见的需求。特别是在中文网站或应用程序中,将用户输入的Unicode转换为汉字是非常重要的。本文将介绍如何使用PHP将Unicode编码转换为汉字。一、Unicode编码Unicode编码...
    99+
    2023-05-14
  • php如何把数字转为汉字
    这篇文章主要介绍“php如何把数字转为汉字”,在日常操作中,相信很多人在php如何把数字转为汉字问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何把数字转为汉字”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-20
  • PHP中的汉字怎么转拼音
    本篇内容主要讲解“PHP中的汉字怎么转拼音”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中的汉字怎么转拼音”吧!  PHP5.4之前(不包含5....
    99+
    2024-04-02
  • php汉字字符串如何转数组
    本篇内容介绍了“php汉字字符串如何转数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php汉字字符串转数组的方法:首先创建一个PHP示例...
    99+
    2023-06-20
  • python怎么将数字转化为汉字
    这篇文章主要介绍“python怎么将数字转化为汉字”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python怎么将数字转化为汉字”文章能帮助大家解决问题。本文教程操作环境:windows7系统、Py...
    99+
    2023-06-30
  • php把汉字字符串转换成数组
    PHP作为一种非常强大的编程语言,拥有丰富的字符串操作函数供开发者使用。在开发中,我们有时需要将含有汉字的字符串转换成数组格式,以便进行后续的数据处理工作。本文将介绍如何使用PHP中的函数来将汉字字符串转换为数组。1.将字符串转换成Unic...
    99+
    2023-05-19
  • php怎么把16进制转换成汉字
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么把16进制转换成汉字代码如下://字符串转换成16进制 function str2hex($str){ $hex = ''; for(...
    99+
    2016-09-21
    php 16进制 汉字
  • 怎么在python中将数字转换为汉字
    本篇文章为大家展示了怎么在python中将数字转换为汉字,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言...
    99+
    2023-06-14
  • php怎么将汉字转换为UTF-8编码
    这篇文章主要介绍“php怎么将汉字转换为UTF-8编码”,在日常操作中,相信很多人在php怎么将汉字转换为UTF-8编码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php怎么将汉字转换为UTF-8编码”的疑...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作