精华内容
下载资源
问答
  • private void button1_Click(object sender, EventArgs e) { string str = txtPwd.Text; MD5 md= MD5.Create(); byte [] bytes= md.ComputeHash(System.Text.Encoding.UTF8.GetBytes(str));...
  • 在我们项目开发时会遇到这样一种情况,即后台返回的数额过大而导致前端无法正常显示,如超过万、亿级,这时候可以在后台做一个判断若数据大于一万以上,则将数字转换万或者亿为单位再返回。 以下转换方法类,...
           在我们项目开发时会遇到这样一种情况,即后台返回的数额过大而导致前端无法正常显示,如超过万、亿级,这时候可以在后台做一个判断若数据大于一万以上,则将数字转换为万或者以亿为单位再返回。

           以下为转换方法类,其中包含三个方法,主方法 amountConversion() 实现数字转换为万或者亿为单位、formatNumber()用于对数字进行四舍五入保证转换后的数据准确性、zeroFill()用于对数字进行补零此方法可根据实际需求酌情使用。

    import java.math.BigDecimal;
    import java.math.RoundingMode;
    import org.slf4j.Logger;
    public class NumberUtils {
       
        private static final Double MILLION = 10000.0;
        private static final Double MILLIONS = 1000000.0;
        private static final Double BILLION = 100000000.0;
        private static final String MILLION_UNIT = "万";
        private static final String BILLION_UNIT = "亿";
        
        /**
         * 将数字转换成以万为单位或者以亿为单位,因为在前端数字太大显示有问题
         *
         * @author
         * @version 1.00.00
         *
         * @date 2018年1月18日
         * @param amount 报销金额
         * @return
         */
        public static String amountConversion(double amount){
            //最终返回的结果值
            String result = String.valueOf(amount);
            //四舍五入后的值
            double value = 0;
            //转换后的值
            double tempValue = 0;
            //余数
            double remainder = 0;
            
            //金额大于1百万小于1亿
            if(amount > MILLIONS && amount < BILLION){
                tempValue = amount/MILLION;
                remainder = amount%MILLION;
                log.info("tempValue=" + tempValue + ", remainder=" + remainder);
                
                //余数小于5000则不进行四舍五入
                if(remainder < (MILLION/2)){
                    value = formatNumber(tempValue,2,false);
                }else{
                    value = formatNumber(tempValue,2,true);
                }
                //如果值刚好是10000万,则要变成1亿
                if(value == MILLION){
                    result = zeroFill(value/MILLION) + BILLION_UNIT;
                }else{
                    result = zeroFill(value) + MILLION_UNIT;
                }
            }
            //金额大于1亿
            else if(amount > BILLION){
                tempValue = amount/BILLION;
                remainder = amount%BILLION;
                log.info("tempValue=" + tempValue + ", remainder=" + remainder);
                
                //余数小于50000000则不进行四舍五入
                if(remainder < (BILLION/2)){
                    value = formatNumber(tempValue,2,false);
                }else{
                    value = formatNumber(tempValue,2,true);
                }
                result = zeroFill(value) + BILLION_UNIT;
            }else{
                result = zeroFill(amount);
            }
            log.info("result=" + result);
            return result;
        }
        
        
        /**
         * 对数字进行四舍五入,保留2位小数
         *
         * @author
         * @version 1.00.00
         *
         * @date 2018年1月18日
         * @param number 要四舍五入的数字
         * @param decimal 保留的小数点数
         * @param rounding 是否四舍五入
         * @return
         */
        public static Double formatNumber(double number, int decimal, boolean rounding){
            BigDecimal bigDecimal = new BigDecimal(number);
            
            if(rounding){
                return bigDecimal.setScale(decimal,RoundingMode.HALF_UP).doubleValue();
            }else{
                return bigDecimal.setScale(decimal,RoundingMode.DOWN).doubleValue();
            }
        }
        
        /**
         * 对四舍五入的数据进行补0显示,即显示.00
         *
         * @author
         * @version 1.00.00
         *
         * @date 2018年1月23日
         * @return
         */
        public static String zeroFill(double number){
            String value = String.valueOf(number);
            
            if(value.indexOf(".")<0){
                value = value + ".00";
            }else{
                String decimalValue = value.substring(value.indexOf(".")+1);
                
                if(decimalValue.length()<2){
                    value = value + "0";
                }
            }
            return value;
        }
        
        /**
         * 测试方法入口
         *
    
             * @author
    
         * @version 1.00.00
         *
         * @date 2018年1月18日
         * @param args
         */
        public static void main(String[] args) throws Exception{
            amountConversion(120);
            amountConversion(18166.35);
            amountConversion(1222188.35);
            amountConversion(129887783.5);
        }
        
        
    }
    展开全文
  • python数字信号处理,产生单位阶跃序列,单位脉冲序列 最近在学matlab数字信号处理,想到了python,于是便用python将matlab的作业全做一遍 这里用numpy库产生了单位阶跃序列,单位脉冲序列 代码如下: DSP.py: ...

    python数字信号处理,产生单位阶跃序列,单位脉冲序列

    最近在学matlab数字信号处理,想到了python,于是便用python将matlab的作业全做一遍
    这里用numpy库产生了单位阶跃序列,单位脉冲序列
    代码如下:
    DSP.py:

    import numpy as np
    def impseq(n0,n1,n2):
    #Generates x(n)=delta(n-n0);n1<=n,n0<=n2
    #-----------------------------------------
    # [x, n] = impseq(n0, n1, n2)
        if ((n0 < n1) or (n0 > n2) or (n1 > n2)):
          raise Exception('arguments must satisfy n1<=n0,n<=n2')
        a = np.zeros(n2-n1+1)
        a[n0-n1] = 1
        return a
    def stepseq(n0,n1,n2):
        # Generates
        # x(n) = u(n - n0);
        # n1 <= n, n0 <= n2
        # -----------------------------------------
        if ((n0 < n1) or (n0 > n2) or (n1 > n2)):
            raise Exception('arguments must satisfy n1<=n0,n<=n2')
        a = np.zeros(n2-n1+1)
        a[(n0-n1):] = 1
        return a
    
    import numpy as np
    from matplotlib import pyplot as plt
    from DSP import *
    a=impseq(7,0,10)
    b=stepseq(7,0,10)
    n=np.arange(0,11)
    print(a)
    print(b)
    print(n)
    plt.subplot(2,1,1)
    plt.stem(n,a,use_line_collection=False)
    plt.subplot(2,1,2)
    plt.stem(n,b,use_line_collection=False)
    plt.show()
    
    

    运行结果:
    对

    展开全文
  • 日常科研的数据动不动就是100M,而用传统的excel+origin处理的方法需要消耗大量的时间因此,我用python写了数据处理的脚本,可以快速得到我想要的数据,将原来需要4个小时的数据处理工作缩短4分钟(拷贝图片到PPT...

    作为一名理工科实验狗,日常科研的数据经常很容易到100M,而用传统的excel+origin处理的方法需要消耗大量的时间因此,我用python写了数据处理的脚本,可以快速得到我想要的数据,将原来需要4个小时的数据处理工作缩短为4分钟(拷贝图片到PPT),大大提高了工作的效率。下面来介绍我的工作。
    首先是我的原材料:数据

    Index Vd Id
    1/1  -2.0000 V  -29.2080 uA
    1/2  -1.9800 V  -28.4240 uA
    1/3  -1.9600 V  -26.7640 uA
    1/4  -1.9400 V  -26.4500 uA
    1/5  -1.9200 V  -25.2000 uA
    1/6  -1.9000 V  -24.9680 uA
    1/7  -1.8800 V  -25.0740 uA
    1/8  -1.8600 V  -23.8560 uA
    1/9  -1.8400 V  -25.2280 uA
    1/10  -1.8200 V  -23.1660 uA
    1/11  -1.8000 V  -22.5580 uA
    1/12  -1.7800 V  -21.5140 uA
    1/13  -1.7600 V  -24.0940 uA
    1/14  -1.7400 V  -19.1900 uA
    1/15  -1.7200 V  -19.0060 uA
    1/16  -1.7000 V  -18.1260 uA
    1/17  -1.6800 V  -18.8860 uA
    

    一共有5000多行
    我处理的期望结果是:
    1.得到第二列为横坐标,第三列为纵坐标的,且纵坐标是对数坐标的曲线。
    2.得到0.2 V下的大电路和小电流(高阻态和低阻态)随IV 曲线测试次数的变化的曲线
    下面用python处理:
    1.导入正则匹配,作图的库文件,读入数据文件。

    import re
    import matplotlib.pyplot as plt
    data = open("0_4_4_1.txt","r+")
    position = data.tell()
    position = data.seek(0,0)
    string = data.read(100000000)
    

    2.通过正则匹配将单位去掉,将数字和单位单独取出

    Volt = re.compile(r'(?:\s\S*\d\.\d+\s(?:V|\wV)|\s0\sV)')
    Voltage = Volt.findall(string)
    Curr = re.compile(r'\s-*\d*\.\d+\s\wA')
    Current = Curr.findall(string)
    
    vol = "".join(Voltage)
    cur = "".join(Current)
    
    data_format = re.compile(r'(?:\S*\d*\.\d+|\s0\s)')
    unitv_format = re.compile(r'\s\S*V\s*')
    unitc_format = re.compile(r'\s\S*A\s*')
    
    unitv = unitv_format.findall(vol)
    unitc = unitc_format.findall(cur)
    
    datav = data_format.findall(vol)
    datac = data_format.findall(cur)
    

    3.电压取“V”,电流取“mA”,其他单位按这个单位的数量级差来转换:

    datav2=[]
    datac2=[]
    
    for i in range (len(datav)):
        if unitv[i] == ' mV ' or unitv[i] == ' mV':
            datav2.append(float(datav[i])*0.001)
        elif unitv[i] == ' V ' or  unitv[i] == ' V':
            datav2.append(float(datav[i]))
        else:
            print('index_v',i)
    
    for i in range (len(datac)):
        if unitc[i] == ' uA ':
            datac2.append(float(datac[i])*0.001)
        elif unitc[i] == ' nA ':
            datac2.append(float(datac[i])*0.000001)
        elif unitc[i] == ' pA ':
            datac2.append(float(datac[i])*0.000000001)
        elif unitc[i] == ' mA ' or unitc[i] == ' mA':
            datac2.append(float(datac[i]))
        else:
            print('index_c',i)
    

    4.作IV曲线图,取对数坐标需要将电流全部取绝对值

    font = {'family' : 'Calibr',
             'weight' : 'normal',
             'size' : 20,
            }
    absdatac2 = map(abs,datac2)
    x = datav2
    listabsdatac2 = list(absdatac2)
    y = listabsdatac2
    plt.xlim(-2.1, 1)
    plt.ylim(0.001,50)
    plt.semilogy(x,y,label='log')
    plt.grid(1)
    plt.xlabel('Voltage')
    plt.ylabel('Current')
    plt.title("IV")
    plt.legend
    plt.show()
    

    5.作on/off ratio和IV曲线测量次数图

    point = []
    on = []
    off = []
    ratio = []
    num = []
    
    for i in range (len(x)):
        if x[i] == 0.2:
            point.append(y[i])
            for i in range (len(point)):
        if i%2 == 0:
            off.append(point[i])
        else:
            on.append(point[i])
    for i in range(len(on)):
        ratio.append(on[i]/off[i])     
    for i in range(len(ratio)):
        num.append(i)
    plt.xlim(1,10)
    #plt.ylim(1,400)
    plt.plot(num,ratio)
    plt.grid(1)
    plt.xlabel('cycle',font)
    plt.ylabel('on/off ratio',font)
    plt.title("on/off ratio",font)
    plt.legend
    plt.show()
    

    最后得到的图片如图所示:
    1.IV图

    IV图
    on/off ratio

    展开全文
  • 微型计算机能处理的最小数据单位是( )。 ASCII码 比特(二进制位) 字节 字长
  • 在回归问题和一些机器学习算法中,以及训练神经网络的过程中,通常需要原始数据进行中心化(Zero-centered 或者 Mean-subtraction)处理和标准化(Standardization 或者 Normalization)处理。 1.矩阵中心化 矩阵...

    本文作为学习笔记,内容摘抄自网页+自己的感想。如有错误的地方,还望指正。


    在回归问题和一些机器学习算法中,以及训练神经网络的过程中,通常需要对原始数据进行中心化(Zero-centered 或者 Mean-subtraction)处理和标准化(Standardization 或者 Normalization)处理。

    1.矩阵中心化

    矩阵中心化是使用数据减去数据的均值。\mu表示n个数据样本的均值,xi表示数据样本,则数据中心化使用如下公式计算:xi'=(xi-\mu),i=1,2,3,...,n。(假定数据样本进行了中心化,即\sum\nolimits_i{x_i=0})下面的图是数据做中心化(centering)前后的对比,可以看到其实就是一个平移的过程,平移后所有数据的中心是(0,0)。


    2.矩阵标准化

    • 目的:通过对数据进行标准化处理,得到均值为0,标准差为1的服从标准正态分布的数据。(相对一维数据来说,也就是相对矩阵的每一列,数据的每一个维度)
    • 计算过程由下式表示:x'=\frac{x-\mu}{\sigma}\mu表示均值,\sigma表示标准差,(\mu\sigma都可以看成是行向量形式,它们的每个元素分布表示矩阵每一列的均值和方差)可以看出矩阵中心化是标准化的一步,将中心化的矩阵除以标准差得到标准化矩阵。
    • 下面解释一下为什么需要使用这些数据预处理步骤:
      在一些实际问题中,我们得到的样本数据都是多个维度的,即一个样本是用多个特征来表示的。比如在预测房价的问题中,影响房价y的因素有房子面积x1,卧室数量x2等,我们得到的样本数据就是(x1,x2)这样一些样本点,这里的x1,x2又被称为特征。很显然,这些特征的量纲和数值的量级都是不一样的(比如房子面积x1的单位是..m2,80m2,100m2;而卧室数量x2单位是..间,1间,2间),在预测房价时,如果直接使用原始的数据值,那么它们对房价的影响程度将是不一样的,而通过标准化处理,可以使得不同的特征具有相同的尺度(Scale)。这样,在使用梯度下降法学习参数的时候,不同特征对参数的影响程度就一样了。
    • 简言之,当原始数据不同维度上的特征的尺度(单位)不一致时,需要标准化步骤对数据进行预处理。
    • 下面中以二维数据为例:左图表示的是原始数据;中间的是中心化后的数据,数据被移动到原点周围;右图将中心化后的数据除以标准差,得到为标准化的数据,可以看出每个维度上的尺度是一致的(红色线段的长度表示尺度)。


    其实,在不同的问题中,中心化和标准化有着不同的意义。

    • 比如在训练神经网络的过程中,通过将数据标准化,能够加速权重参数的收敛;
    • 另外,对于主成分分析(PCA)问题,也需要对数据进行中心化和标准化等预处理步骤。


    [内容出处]www.zhihu.com/question/37…
                   blog.csdn.net/liuweiyuxia…

    展开全文
  • 数字信号处理——单位冲击响应

    万次阅读 多人点赞 2016-09-22 20:11:28
    比如,"乘100"就是个线性系统,因为例如5输入得到输出500,而5*6输入得到 3000 == 5*100*6. 而"平方"则不是线性系统,因为5输入得到25,而5*6得到的结果是 30*30 != 5*5*6. 线性时不变系统的另一个...
  • private setText(nxtjb,jb_txt){ let fr = 1000;...//单位表示1000 10000 … while (nxtjb/fr&gt;=1) {//计算出数字的位数 fr*=10; num+=1; console.log(“数字:”,nxtjb/fr,‘num:’,num); } i...
  • 显示数字格式化万、亿为单位转换
  • 数字图像处理

    千次阅读 2019-03-04 13:38:44
    (模拟图像处理数字图像出入的结合)用光学方法完成巨大运算量的处理,再用计算机光学处理的结果进行分析处理 图像分析 图像分析 图像中目标的分类与识别 注意: 图像分析是图像处...
  • 总结了这67个pandas函数,完美解决数据处理,拿来即用!
  • 这个问题要分作两部分处理 , 第一:将数字转换成为单位数字 ; 第二:转换后的数字四舍五入保留小数点后一位; private String intChange2Str(int number) { String str = ""; if (number ) { str = ""; } ...
  • iOS-把大长串的数字单位处理

    千次阅读 2015-06-26 18:00:02
    #pragma mark - 把大长串的数字单位处理 - (NSString *)changeAsset:(NSString *)amountStr {   if (amountStr && ![amountStr isEqualToString:@""])  {   NSInteger num = [amountStr integer...
  • 数字信号处理考试要点

    万次阅读 多人点赞 2019-01-06 11:48:07
    数字信号处理考点整理
  • 文中涉及的部分MODIS数据处理方法仅适用于MODIS二级以上产品 上一篇文章MODIS数据处理#0中,我们利用Chrono的资源嗅探功能批量下载MODIS...• MOD16、MOD13数据例,初识栅格 一、hdf转换工具选择 在导入Arc...
  • 1.单位冲击响应与频响  就如同之前所说的一样,使用下图所示的单位冲击响应,所设计的滤波器,是无法实现的。  现在,让我们看看其这个滤波器的频响。所谓频响,就是计算其单位冲击响应的离散时间傅里叶变换, ...
  • Q: A:
  • 教你如何迅速秒杀掉:99%的海量数据处理面试题

    万次阅读 多人点赞 2012-03-22 12:51:07
    教你如何迅速秒杀掉:99%的海量数据...却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将
  • IIR数字滤波器设计(数字信号处理

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

    万次阅读 多人点赞 2018-04-21 16:54:26
    数字图像处理,即数字,将图像转化为数字的形式,图像做处理,我们平时所见到的图像,在计算机中都是一组数字,当通过相机捕获现实世界的景物时,相机会捕获现实世界的光源信号,并转化为数字信号保存到存储器上,...
  • 数据分析-数据平滑处理

    千次阅读 2019-01-22 09:11:10
    在做数据分析时, 由于数据的噪声太多, 需要对数据进行数据平滑处理. 通常包含有降噪/拟合等操作. 降噪的功能在于去除额外的影响因素. 拟合的目的在于数学模型化,可以通过更多的数学方法识别曲线特征. 降噪手段: 卷积...
  • 时间序列的平稳性为什么要把时间序列变成平稳的?——平稳性的意义如何检验时间序列数据的平稳性?——单位根检验数据不平稳怎么办?——协整检验单整、协整(cointegration)协整检验总结——时间序列数据的一般...
  • 主成分分析(PCA)是用来提升无监督特征学习速度的数据降维算法。...为了方便解释,我们二维数据降一维例(实际应用可能需要把数据从256降到50): 需要注意的是,两个特征值经过了预处理
  • 数字图像处理期末复习

    万次阅读 多人点赞 2019-12-02 16:01:26
    数字图像是图像的数字表示,像素是其最小单位数字图像的描述有: 无彩色图像 彩色图像 图像处理的研究目的 目的:满足人的视觉、心理需要;实际应用或某种目的的要求 数字图像处理的定义、特点 图像处理图像...
  • 数字信号处理期末总复习

    万次阅读 多人点赞 2020-05-30 10:59:10
    DSP期末总复习 基于教材:《数字信号处理——原理、实现及应用(第3版)》 高西全等 编著 一、基本概念 1.1 信号 1.2 系统 1.3 卷积 1.4 差分方程 ...四、模拟信号数字处理 五、滤波器 5.1 一些散落的实例 5.
  • WebService处理数据数据

    千次阅读 2014-01-16 18:30:53
    WebService处理数据数据   修改配置可以在web.config中重新设置,如下: ...executionTimeout:表示允许执行请求的最大时间限制,单位为秒 maxRequestLength:指示 ASP.NET 支持的最大文件上载大小。
  • excel数据处理

    千次阅读 多人点赞 2019-01-12 21:08:25
    当输入工号,编号或者数位较长的等特殊号码时,如果输入0开头的编码,Excel默认会省去0,所以要将单元格的数据格式设置文本再输入编码。 如下图: 2.2 财务单据中快速输入大写人民币 2.3 大量小数时...
  • /** * &lt;pre&gt; * 数字格式化显示 ... * 大于亿1.1亿方式显示最大没有限制都是亿单位 * make by dongxh 2017年12月28日上午10:05:22 * &lt;/pre&gt; * @param num ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 788,158
精华内容 315,263
关键字:

对数据的处理以什么为单位