把大数据数字口语化(python与js)两种实现

python

代码如下:

def fn(num):
    '''
    把数字口语化
    '''

ret = ''
    num = int(num)
    if num/10000 == 0:
        ret = str(num)
    else:
        if num/10**8 == 0:
            if num%10000 != 0:
                ret = str(num/10000) + '万' + str(num % 10000)
            else:
                ret = str(num/10000) + '万'
        else:
            n2 = num%10**8
            if n2%10000 != 0 and n2/10000 != 0:
                ret = str(num/10**8) + '亿' + str(n2/10000) + '万' + str(n2%10000)
            elif  n2%10000 != 0 and n2/10000 == 0:
                ret = str(num/10**8) + '亿' +  str(n2%10000)
            elif  n2%10000 == 0 and n2/10000 != 0:
                ret = str(num/10**8) + '亿' +  str(n2/10000) + '万'
            elif  n2%10000 == 0 and n2/10000 == 0:
                ret = str(num/10**8) + '亿'
    return ret

javascript:

代码如下:

function int2string(num) {
    num = Number(num);
    if (num/10000 < 1){
        ret = num;
    }else{
        if (num/Math.pow(10,8) < 1) {
            if (num%10000 != 0) {
                ret = parseInt(num/10000) + '万' + num % 10000;
            }else{
                ret = parseInt(num/10000) + '万';
            }
        }else{
            n2 = num%Math.pow(10,8);
            if (n2%10000 != 0 & n2/10000 != 0) {
                ret = parseInt(num/Math.pow(10,8)) + '亿' + parseInt(n2/10000) + '万' + (n2%10000);
            }else if(n2%10000 != 0 & n2/10000 == 0){
                ret = parseInt(num/Math.pow(10,8)) + '亿' +  parseInt(n2%10000);
            }else if(n2%10000 == 0 & n2/10000 != 0){
                ret = parseInt(num/Math.pow(10,8)) + '亿' +  parseInt(n2/10000) + '万';
            }else if(n2%10000 == 0 & n2/10000 == 0){
                ret = (num/Math.pow(10,8)) + '亿';
            }
        }
    }
    return ret
}

(0)

相关推荐

  • 在Python中利用Pandas库处理大数据的简单介绍

    在数据分析领域,最热门的莫过于Python和R语言,此前有一篇文章<别老扯什么Hadoop了,你的数据根本不够大>指出:只有在超过5TB数据量的规模下,Hadoop才是一个合理的技术选择.这次拿到近亿条日志数据,千万级数据已经是关系型数据库的查询分析瓶颈,之前使用过Hadoop对大量文本进行分类,这次决定采用Python来处理数据: 硬件环境         CPU:3.5 GHz Intel Core i7         内存:32 GB HDDR 3 1600 MHz         硬

  • python中使用xlrd、xlwt操作excel表格详解

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究"(用此一词让我觉得颇有成就感)之后,基本解决了日常所需.主要记录使用过程的常见问题及解决. python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.可从这里下载https://pypi.python.org/pypi.下面分别记录python

  • 用Python实现协同过滤的教程

    协同过滤 在 用户 -- 物品(user - item)的数据关系下很容易收集到一些偏好信息(preference),比如评分.利用这些分散的偏好信息,基于其背后可能存在的关联性,来为用户推荐物品的方法,便是协同过滤,或称协作型过滤(collaborative filtering). 这种过滤算法的有效性基础在于: 用户的偏好具有相似性,即用户是可分类的.这种分类的特征越明显,推荐的准确率就越高     物品之间是存在关系的,即偏好某一物品的任何人,都很可能也同时偏好另一件物品 不同环境下这两种

  • 把大数据数字口语化(python与js)两种实现

    python 复制代码 代码如下: def fn(num):    '''    把数字口语化    ''' ret = ''    num = int(num)    if num/10000 == 0:        ret = str(num)    else:        if num/10**8 == 0:            if num%10000 != 0:                ret = str(num/10000) + '万' + str(num % 10000

  • Python单例模式的两种实现方法

    Python单例模式的两种实现方法 方法一  import threading class Singleton(object): __instance = None __lock = threading.Lock() # used to synchronize code def __init__(self): "disable the __init__ method" @staticmethod def getInstance(): if not Singleton.__instanc

  • elasticsearch python 查询的两种方法

    elasticsearch python 查询的两种方法,具体内容如下所述: from elasticsearch import Elasticsearch es = Elasticsearch res1 = es.search(index="2018-07-31", body={"query": {"match_all": {}}}) print(es1) {'_shards': {'failed': 0, 'skipped': 0, 'suc

  • Python Django view 两种return的实现方式

    1.使用render方法 return render(request,'index.html') 返回的页面内容是index.html的内容,但是url不变,还是原网页的url,(比如是login页面的返回方法,跳转后的url还是为login) 一刷新就返回去了 2.使用redirect方法 return redirect(request,'idnex.html') 直接跳转到index.html页面中,url为跳转后的页面url 补充知识:Django的View是如何工作的? View (视图

  • python函数的两种嵌套方法使用

    目录 交叉嵌套 回环函数 python函数的两种嵌套方法使用函数的嵌套有两种方式: 交叉嵌套 回环嵌套 交叉嵌套 交叉嵌套的方式是在本函数中调用同一级或上一级函数的嵌套方法: def func(foo):     print(1)     foo()     print(3)      def a():     print(1) b = func(a) print(b) 输出的结果为: 113None 首先,程序会将 Python 文件中顶格的代码运行.函数 func 和 a 都是先开辟内存空间

  • 详解Python单元测试的两种写法

    目录 一.前言 二.实现 1.doctest 2.unittest 一.前言 python的两个单元测试包分别是 doctest 和 unittest,这两个包的使用起来各有长处,适用于不同的场景 doctest:直接写在方法体中,利用了 python 动态语言的特性,书写方式简单明了,前提是项目不要太大,如果项目复杂代码量大,再加上写在方法体中的单元测试,整体就会看起来有些臃肿,因此 doctest 适用于代码量不大的普通项目 unittest:一般写在独立文件中,与 spring 的单元测试

  • Python timer定时器两种常用方法解析

    这篇文章主要介绍了Python timer定时器两种常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 方法一,使用线程中现成的: 这种一般比较常用,特别是在线程中的使用方法,下面是一个例子能够很清楚的说明它的具体使用方法: #! /usr/bin/python3 #! -*- conding: utf-8 -*- import threading import time def fun_timer(): print(time.strf

  • 基于python的selenium两种文件上传操作实现详解

    方法一.input标签上传 如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法. 方法二.非input标签上传 这种上传方式需要借助第三方工具,主要有以下三种情况: 1.AutoIt 去调用它生成的au3或者exe格式的文件 2.SendKeys第三方库(目前只支持到2.7版本) 网址:https://pypi.python.org/pypi/SendKeys/ 3.Python的pywin32库,通过识别对话框句柄来进行操作

  • django中使用jquery ajax post数据出现403错误的解决办法(两种方法)

    在django中,使用jquery ajax post数据,会出现403的错误 方法一: 如果用jQuery来处理ajax的话,Django直接送了一段解决问题的代码.把它放在一个独立的js文件中,在html页面中都引入即可.注意这个js文件必须在jquery的js文件引入之后,再引入即可 $(document).ajaxSend(function(event, xhr, settings) { function getCookie(name) { var cookieValue = null;

  • Python线程的两种编程方式

    Python中如果要使用线程的话,python的lib中提供了两种方式.一种是函数式,一种是用类来包装的线程对象.举两个简单的例子希望起到抛砖引玉的作用,关于多线程编程的其他知识例如互斥.信号量.临界区等请参考python的文档及相关资料. 1.调用thread模块中的start_new_thread()函数来产生新的线程,请看代码: 复制代码 代码如下: ###        thread_example.py   import time  import thread  def timer(n

随机推荐