精华内容
下载资源
问答
  • python从字符串中提取数字

    万次阅读 多人点赞 2018-05-14 14:43:16
    ## \d 匹配任意数字。 ## \D 匹配任意非数字字符。 ## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。 ## x* 匹配0次或者多次 x 字符。 ## x+ 匹配1次或者多次 x 字符。 ## x{n,m} 匹配...

    1、使用正则表达式,用法如下:

    ## 总结
    ## ^ 匹配字符串的开始。
    ## $ 匹配字符串的结尾。
    ## \b 匹配一个单词的边界。
    ## \d 匹配任意数字。
    ## \D 匹配任意非数字字符。
    ## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。
    ## x* 匹配0次或者多次 x 字符。
    ## x+ 匹配1次或者多次 x 字符。
    ## x{n,m} 匹配 x 字符,至少 n 次,至多 m 次。
    ## (a|b|c) 要么匹配 a,要么匹配 b,要么匹配 c。
    ## (x) 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对象的 groups() 函数获取它的值。
    ## 正则表达式中的点号通常意味着 “匹配任意单字符”
    

    2、解题思路:

    • 既然是提取数字,那么数字的形式一般是:整数,小数,整数加小数;

    • 所以一般是形如:----.-----;

    • 根据上述正则表达式的含义,可写出如下的表达式:"\d+.?\d*";

      • \d+ 匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字;
      • \.? 这个是匹配小数点的,可能有,也可能没有;
      • \d* 这个是匹配小数点之后的数字的,所以是0个或者多个;

    3、代码如下:

    # -*- coding: cp936 -*-
    import re
     
    string="A1.45,b5,6.45,8.82"
    print re.findall(r"\d+\.?\d*",string)
     
    # ['1.45', '5', '6.45', '8.82']
    
    展开全文
  • 分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!... /* ...从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的...

    分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net 

    /*
     * n个数字形成的圆圈中循环删除第m个数字 - C++ - by Chimomo
     *
     * 题目:n个数字(0, 1, … , n-1)形成一个圆圈。从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。
     * 当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。
     *
     * Answer:
     * The keys are:
     *   1) If we shift the ids by k, namely, start from k instead of 0, we should add the result by k%n.
     *   2) After the first round, we start from (k+1)(possibly % n) with n-1 elements,
     *   that is equal to an (n-1) problem while start from (k+1)th element instead of 0,
     *   so the answer is (f(n-1,m)+(k+1))%n.
     *   3) Set k = m-1, so f(n,m) = (f(n-1,m)+m)%n. Obviously, f(1,m) = 0.
     *   Now this is an O(n) solution.
     */
    
    #include <iostream>
    #include <stdio.h>
    
    using namespace std;
    
    int f(int n, int m) {
        int fn = 0;
    
        for (int i = 2; i <= n; i++) {
            fn = (fn + m) % i;
        }
    
        return fn;
    }
    
    int main(int argc, char *argv[]) {
        cout << f(100, 66) << endl;
        return 0;
    }
    
    // Output:
    /*
    77
    
    */

     

    展开全文
  • 如何在HTML中限制input 输入框只能输入纯数字

    万次阅读 多人点赞 2018-02-27 15:23:29
    在输入框输入任何非数字内容,都会自动退格并清除! 核心代码: onKeyUp=”value=value.replace(/[^\d]/g,”)” 示例代码 &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&quot;en&...

    限制 input 输入框只能输入纯数字

    1、onkeyup = "value=value.replace(/[^\d]/g,'')"

    使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母

    2、onchange = "value=value.replace(/[^\d]/g,'')"

    使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应

    3、oninput = "value=value.replace(/[^\d]/g,'')"

    使用 oninput 事件,完美的解决了以上两种问题,测试暂时还没有出现其它问题。

    代码示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>input</title>
    </head>
    <body>
        只能输入纯数字的输入框:<input type="text" name="" oninput="value=value.replace(/[^\d]/g,'')">
    </body>
    </html>
    

    以上代码均已在谷歌、火狐、百度、UC、IE11、360急速、QQ、Edge浏览器下测试完毕,请放心使用,

    感谢 qq_38726717小小小欣 两位小伙伴在评论区的反馈。

    展开全文
  • JS将数字金额转换为大写人民币汉字

    万次阅读 2021-01-04 14:08:00
    转载自 qubernet 博客 JS将数字金额转换为大写人民币汉字 function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'); //基本单位 ...

    转载自 qubernet 博客 JS将数字金额转换为大写人民币汉字

    function convertCurrency(money) {
        //汉字的数字
        var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');
        //基本单位
        var cnIntRadice = new Array('', '拾', '佰', '仟');
        //对应整数部分扩展单位
        var cnIntUnits = new Array('', '万', '亿', '兆');
        //对应小数部分单位
        var cnDecUnits = new Array('角', '分', '毫', '厘');
        //整数金额时后面跟的字符
        var cnInteger = '整';
        //整型完以后的单位
        var cnIntLast = '元';
        //最大处理的数字范围 999999999999999.9999
        //金额整数部分
        var integerNum;
        //金额小数部分
        var decimalNum;
        //输出的中文金额字符串
        var chineseStr = '';
        //分离金额后用的数组,预定义
        var parts;
    
        if (money == '') { return ''; }
    
        money = parseFloat(money);
        let moneyStr = (''+money).split('.');
        if (money > 999999999999999.9999 || (moneyStr.length>1 && moneyStr[1].length > 4)) {
    		throw '超出最大处理数字';
        }
        if (money == 0) {
            chineseStr = cnNums[0] + cnIntLast + cnInteger;
            return chineseStr;
        }
    
        //转换为字符串
        money = money.toString();
        if (money.indexOf('.') == -1) {
            integerNum = money;
            decimalNum = '';
        } else {
            parts = money.split('.');
            integerNum = parts[0];
            decimalNum = parts[1].substr(0, 4);
        }
    
        //获取整型部分转换
        if (parseInt(integerNum, 10) > 0) {
            var zeroCount = 0;
            var IntLen = integerNum.length;
            for (var i = 0; i < IntLen; i++) {
                var n = integerNum.substr(i, 1);
                var p = IntLen - i - 1;
                var q = p / 4;
                var m = p % 4;
                if (n == '0') {
                    zeroCount++;
                } else {
                    if (zeroCount > 0) {
                        chineseStr += cnNums[0];
                    }
                    //归零
                    zeroCount = 0;
                    chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
                }
                if (m == 0 && zeroCount < 4) {
                    chineseStr += cnIntUnits[q];
                }
            }
            chineseStr += cnIntLast;
        }
    
        //小数部分
        if (decimalNum != '') {
            var decLen = decimalNum.length;
            for (var i = 0; i < decLen; i++) {
                var n = decimalNum.substr(i, 1);
                if (n != '0') {
                    chineseStr += cnNums[Number(n)] + cnDecUnits[i];
                }
            }
        }
    
        if (chineseStr == '') {
            chineseStr += cnNums[0] + cnIntLast + cnInteger;
        } else if (decimalNum == '') {
            chineseStr += cnInteger;
        }
    
        return chineseStr;
    }
    
    展开全文
  • 数字图像字符识别——数字识别

    万次阅读 多人点赞 2018-04-19 15:14:02
    本文简单介绍图片字符识别的原理,主要识别图片中的数字,其他字符识别原理类似。大家应该知道,对于人类来说,可以很容易理解一张图片所表达的信息,这是人类视觉系统数万年演变进化的结果。但对于计算机这个诞生...
  • 如何用python编辑 题目: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 如何用python编辑 题目: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? ...
  • IIR数字滤波器设计(数字信号处理)

    万次阅读 多人点赞 2018-12-18 16:31:38
    IIR数字滤波器设计(数字信号处理) 一、实验目的 1.熟悉双线性变换法设计IIR数字滤波器的原理与方法。 2.掌握IIR数字滤波器的MATLAB实现方法,会调用ellipord()和ellip() 函数设计各种滤波器。 3.观察分析...
  • 数字图像处理Matlab

    万次阅读 多人点赞 2018-06-18 20:25:13
    (注:本文代码大部分可从《数字图像处理 第三版》中找到)使用软件:MATLAB R2018a学习前提:了解matlab的GUI界面的每个按钮参考资料:《数字图像处理 第三版》,CSDN博客使用初音图片P站画师uid:1589657。...
  • 数字签名

    万次阅读 2020-02-26 08:54:09
    文章目录我们需要数字签名签名的生成和验证数字签名的方法直接对消息进行签名对消息的hash值进行签名数字签名可以替代现实生活中的签名吗?数字签名无法解决的问题 我们需要数字签名 之前的文章我们讲了MAC(Message...
  • 数字证书

    千次阅读 2018-11-23 15:05:53
    数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个...
  • 冈萨雷斯 数字图像处理 第三版

    千次下载 热门讨论 2013-04-13 09:43:56
    冈萨雷斯数字图像处理,第三版
  • python将中文数字转化成阿拉伯数字

    千次阅读 多人点赞 2021-03-10 11:52:22
    python将中文数字转化成阿拉伯数字正则表达式提取文本中的数字中文转化成阿拉伯数字完整代码 正则表达式提取文本中的数字 这里演示一下文本中提取中文年份 import re m0 = "在一九四九年新中国成立比一九九零年低...
  • 罗马数字

    万次阅读 2019-07-26 09:09:02
    最常见的罗马数字(1-12):Ⅰ-1、Ⅱ-2、Ⅲ-3、Ⅳ-4、Ⅴ-5、Ⅵ-6、Ⅶ-7、Ⅷ-8、Ⅸ-9、Ⅹ-10、Ⅺ-11、Ⅻ-12 罗马数字: XIII-13、XIV-14、XV-15、XVI-16、XVII-17、XVIII-18、XIX-19、XX-20、XXI-21、XXII-...
  • 数字签名与数字证书

    万次阅读 多人点赞 2013-07-25 09:41:56
    数字签名: 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。 将该报文摘要值用...
  • X.509数字证书的结构与解析

    万次阅读 多人点赞 2016-08-07 21:22:41
    1、什么叫数字签名数字签名:将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。 将...
  • 数字炸弹游戏

    万次阅读 2019-12-06 11:06:17
    数字炸弹游戏 游戏要求: 数字炸弹游戏规则:在一个数字范围内,有一个数字作为炸弹,谁猜中这个炸弹就被惩罚.比如范围是1~99, 炸弹是60,然后猜了一个数字是30,30不是炸弹,那么现在猜数字的范围就缩小到30~100,...
  • java字符串数字数字的转换

    万次阅读 2018-11-07 19:43:53
    1:字符串数字数字 假设给定一个字符串,String str="1234"; 要转为转数字 可以这样:int a=Integer.valueOf(str); 输出即可System.out.println(a); 2.数字转字符串数字 假设给定一数字,int a=...
  • 数字孪生

    千次阅读 2019-05-07 22:05:44
    未来,所有的企业都将成为数字化的公司,这不只是要求企业开发出具备数字化特征的产品,更指的是通过数字化手段改变整个产品的设计、开发、制造和服务过程,并通过数字化的手段连接企业的内部和外部环境。...
  • 数字华容道最后一行技巧是先把上一排的按顺序往下转,上一排不要打乱,当把最后一排的数字转上一部分去时,找准顺序插下来,一直转到最后一排的顺序也是正确的,再复原就可以了。数字华容道就是将1-15这15个数字,按...
  • EditText可以设置多种输入方式,其中若要设置输入数字和小数点时应注意一下几点: 有两种写法:一、利用安卓自身的语法。二、利用正则表达式。 一、利用安卓自身的语法 1.如果设置只输入数字 edittext....
  • 据相关媒体的热烈报道,中国央行发行的数字人民币在全国28个省试点越来越多,双12苏州以红包的形式试点,像10月份的深圳试点类似,貌似普及就离我们越来越近了,目前我们都习惯了使用微信和支付宝支付,换张是数字...
  • 数字信号处理考试要点

    万次阅读 多人点赞 2019-01-06 11:48:07
    数字信号处理考点整理
  • 近日,据各大新闻及媒体报道,中国央行发行的数字人民币测试点扩大至28个省,测试更强调的功能“离线支付”,即使在无网络信号的情况下都可以正常支付,这点微信支付宝就无法做到。比如在偏远或者是地下室等场景,而...
  • 数字签名与数字信封流程

    千次阅读 2018-12-05 22:40:38
    数字签名(Digital Signature)(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,背后的思想是模仿传统手写签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常...
  • 数字签名和数字签名证书理解

    千次阅读 2019-07-29 17:37:48
    数字签名和数字证书的原理解读(图文) 强烈建议阅读一下这篇文章,讲解的通俗易懂 什么是数字签名证书 数字签名证书是一种专门用于数字签名的数字证书。 要了解数字签名,我们必须先了解非对称加密算法,因为数字...
  • 罗马数字数字1到10对照表

    万次阅读 2018-11-14 21:52:22
    常用的数字1到10对应的罗马数字对照表如下所示: 来源: http://www.luomashuzi.com
  • java中文数字与阿拉伯数字相互转换

    千次阅读 2019-06-13 13:26:52
    最近有一个业务需要用到中文数字与阿拉伯数字相互转换,废话不多说直接上代码. 中文数字/阿拉伯数字互转第一次完善:https://blog.csdn.net/qq_26896085/article/details/100081049 package ...
  • 工作中经常遇到阿拉伯数字转换称为中文数字或者大写金额,在网上搜了下,cn2an口碑较好,遂进行了一番学习。 安装 pip install cn2an 依赖库为setuptools、PyYAML 查看版本 In [1]: import cn2an In [2]: cn2an.__...
  • 网络安全无疑是现阶段互联网发展最大的问题,数字证书是解决这个问题的一个绕不开的办法,不管是ActiveX插件还是https都需要用到数字证书。 基本概念 CA(Certificate Authority)被称为证书授权中心,是数字...
  • Java中数字转中文数字

    千次阅读 2019-03-27 19:55:19
    在Java后台需要把阿拉伯数字转化未中文数字,比如“123”转化为“一百二十三” public static String int2chineseNum(int src) { final String num[] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,126,734
精华内容 450,693
关键字:

数字