精华内容
下载资源
问答
  • 去掉带小数字符串后面0

    千次阅读 2019-09-24 14:54:50
    去掉数字后面多余的0 比如 50.00 -》50 ;50.0020-》50.002 public static String subNumberText(String result) { /* if (result==null){ return ""; } result=result.trim(); i...
    去掉数字后面多余的0

    比如 50.00  -》50 ;50.0020-》50.002

      public static String subNumberText(String result) {
       /*   if (result==null){
                return "";
            }
            result=result.trim();
            if (result.contains(".")) {// 是小数
                for (int i = result.length(); i > 0; i--) {
                    String str = result.substring(i - 1, i);
                    if (!str.equals("0")) {
                        if (str.equals(".")) {
                            String tt = result.substring(0, i - 1);
                            return tt;
                        } else {
                            String tt = result.substring(0, i);
                            return tt;
                        }
                    }
                }
            }
            return result;*/
            if (result==null){
                return "";
            }
            if (result.contains(".")) {// 是小数
                while (true) {
                    if (result.charAt(result.length() - 1) == '0')
                        result = result.substring(0, result.length() - 1);
                    else{
                        if (result.endsWith(".")) {
                            result = result.substring(0, result.length() - 1);
                        }
                        break;
                    }
    
                }
    
            }
            return result;
        }
     
    展开全文
  • 1、BigDecimal 后续更新这类的各种...3、处理去除数字后面0(工作中有业务要求进行此处理) BigDecimal number = new BigDecimal("3.1400"); DecimalFormat decimalFormat = new DecimalFormat("##########...

    1、BigDecimal

    在银行、帐户、计费等领域,BigDecimal提供了精确的数值计算,一共有8种舍入方式需要了解并掌握。

    (1)、ROUND_UP
    舍入远离零的舍入模式。
    在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加1)。
    注意,此舍入模式始终不会减少计算值的大小。
    例子:
    原值: 4.5 ==> 5
    原值: 2.2 ==> 3
    原值: 1.6 ==> 2
    原值: -1.1 ==> -2
    原值: -1.6 ==> -2
    原值: -2.6 ==> -3

    (2)、ROUND_DOWN
    接近零的舍入模式。
    在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1,即截断)。
    注意,此舍入模式始终不会增加计算值的大小。
    例子:
    原值: 4.5 ==> 4
    原值: 2.2 ==> 2
    原值: 1.6 ==> 1
    原值: -1.1 ==> -1
    原值: -1.6 ==> -1
    原值: -2.6 ==> -2

    (3)、ROUND_CEILING
    接近正无穷大的舍入模式。
    如果 BigDecimal 为正,则舍入行为与 ROUND_UP 相同;
    如果为负,则舍入行为与 ROUND_DOWN 相同。
    注意,此舍入模式始终不会减少计算值。
    例子:
    原值: 4.5 ==> 5
    原值: 2.2 ==> 3
    原值: 1.6 ==> 2
    原值: -1.1 ==> -1
    原值: -1.6 ==> -1
    原值: -2.6 ==> -2

    (4)、ROUND_FLOOR
    接近负无穷大的舍入模式。
    如果 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同;
    如果为负,则舍入行为与 ROUND_UP 相同。
    注意,此舍入模式始终不会增加计算值。
    例子:
    原值: 4.5 ==> 4
    原值: 2.2 ==> 2
    原值: 1.6 ==> 1
    原值: -1.1 ==> -2
    原值: -1.6 ==> -2
    原值: -2.6 ==> -3

    (5)、ROUND_HALF_UP
    向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为向上舍入的舍入模式。
    如果舍弃部分 >= 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同。
    注意,这是常用的舍入模式(四舍五入)。
    例子:
    原值: 4.5 ==> 5
    原值: 2.2 ==> 2
    原值: 1.6 ==> 2
    原值: -1.1 ==> -1
    原值: -1.6 ==> -2
    原值: -2.6 ==> -3

    (6)、ROUND_HALF_DOWN
    向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则为上舍入的舍入模式。
    如果舍弃部分 > 0.5,则舍入行为与 ROUND_UP 相同;否则舍入行为与 ROUND_DOWN 相同(五舍六入)。
    例子:
    原值: 4.5 ==> 4
    原值: 2.2 ==> 2
    原值: 1.6 ==> 2
    原值: -1.1 ==> -1
    原值: -1.6 ==> -2
    原值: -2.6 ==> -3

    (7)、ROUND_HALF_EVEN (银行家舍入法,金融行业及相关计算行业常用)
    向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。
    如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同;
    如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同。
    注意,在重复进行一系列计算时,此舍入模式可以将累加错误减到最小。
    此舍入模式也称为“银行家舍入法”,主要在美国使用。四舍六入,五分两种情况。
    如果前一位为奇数,则入位,否则舍去。
    以下例子为保留小数点1位,那么这种舍入方式下的结果。
    1.15>1.2 1.25>1.2
    例子:
    原值: 5.5 ==> 6
    原值: 2.5 ==> 2
    原值: 1.6 ==> 2
    原值: 1.1 ==> 1
    原值: 1.0 ==> 1
    原值: -1.1 ==> -1
    原值: -1.0 ==> -1
    原值: -1.6 ==> -2
    原值: -2.5 ==> -2
    原值: -5.5 ==> -6

    (8)、ROUND_UNNECESSARY
    断言请求的操作具有精确的结果,因此不需要舍入。
    如果对获得精确结果的操作指定此舍入模式,则抛出ArithmeticException。

    2、DecimalFormat

    importjava.text.DecimalFormat; 
    
    public class DecimalFormatTest{  
    
      public static void main(String[]args){ 
    
        doublepi=3.1415927; //圆周率 
    
        //取一位整数 
        System.out.println(newDecimalFormat("0").format(pi));   //3 
        //取一位整数和两位小数 
        System.out.println(newDecimalFormat("0.00").format(pi)); //3.14 
        //取两位整数和三位小数,整数不足部分以0填补。 
        System.out.println(new DecimalFormat("00.000").format(pi));// 03.142 
        //取所有整数部分 
        System.out.println(newDecimalFormat("#").format(pi));   //3 
        //以百分比方式计数,并取两位小数 
        System.out.println(new DecimalFormat("#.##%").format(pi)); //314.16% 
    
        longc=299792458;  //光速 
        //显示为科学计数法,并取五位小数 
        System.out.println(newDecimalFormat("#.#####E0").format(c)); //2.99792E8 
        //显示为两位整数的科学计数法,并取四位小数 
        System.out.println(newDecimalFormat("00.####E0").format(c)); //29.9792E7 
        //每三位以逗号进行分隔。 
        System.out.println(newDecimalFormat(",###").format(c));   //299,792,458 
        //将格式嵌入文本 
        System.out.println(newDecimalFormat("光速大小为每秒,###米。").format(c)); 
    
      } 
    
    } 
    

    3、处理去除数字后面的0(工作中有业务要求进行此处理)

    BigDecimal number = new BigDecimal("3.1400");
     
    DecimalFormat decimalFormat = new DecimalFormat("##########.##########");
     
    //这是字符串接收了,如需把String转成原类型,可用 new BigDecimal()把转化后的转回去
    String numberConverted = decimalFormat.format(number); //输出3.14
    
    

    后续持续更新。。。

    展开全文
  • java去掉数字后面0

    2016-09-08 18:00:00
    有些财务业务场景是需要把数字多余的0去掉的。 可以这么写 private String getRealData(BigDecimal num) { if (num == null) { return "0"; } String value = num.stripTrailingZeros().toString(); ...

    有些财务业务场景是需要把数字多余的0去掉的。

    可以这么写

    private String getRealData(BigDecimal num) {
    if (num == null) {
    return "0";
    }
    String value = num.stripTrailingZeros().toString();
    return value;
    }

     

    也可以这么写

    private String getRealData(BigDecimal num) {
    if (num == null) {
    return "0";
    }
    String value = new BigDecimal(num.doubleValue()).toString();
    String[] temp = value.split("\\.");
    if (temp[1].equals("0")) {
    return temp[0];
    }
    return value;
    }

    转载于:https://www.cnblogs.com/nunuAction/p/5853985.html

    展开全文
  • 用MFC编辑框,输入数字,按Backspace键,空白时,窗口弹出“请输入一个整数”消息框,该消息框上点确定后,编辑框里面出现“|0”,即光标移动到数字0之前,再输入数字,后面就会多一个0。如果输入“123”,就变成...

    用MFC编辑框,输入数字,按Backspace键,空白时,窗口弹出“请输入一个整数”消息框,在该消息框上点确定后,编辑框里面出现“|0”,即光标移动到数字0之前,再输入数字,后面就会多一个0。如果输入“123”,就变成了“1230”,再删除,到空白,又会弹出“请输入一个整数”消息框,在该消息框上点确定后,编辑框里面出现“|1”,即最后一个数字总是删不掉,会自动保留在新输入数字之后。
    解决办法:
    去掉编辑框的响应函数:OnEnChangeEhrMin(),问题便不复存在了。
    另外,想要读入编辑框的数值,用UpdateData(TRUE),用一个变量关联控件,即可读取最新编辑框内的值。如果要对其进行修改,并显示。只需要修改该关联变量,并UpdateData(FALSE),变量的值就更新了。

    展开全文
  • java 去除数字后面对于的0

    千次阅读 2017-01-20 11:15:46
    public static String getPrettyNumber(String number) { return BigDecimal.valueOf(Double.parseDouble(number)) .stripTrailingZeros().toPlainString(); } public static void main(String[]
  • [MSSQL]去掉小数位数后面0

    千次阅读 2011-11-12 11:06:01
    set @returnValue =left(@inValue,len(@inValue)-patindex('%[^0]%',reverse(@inValue))) --针对小数点后全是0的 else set @returnValue =left(@inValue,len(@inValue)- patindex('%[^0]%.%',reverse(@inValue))+...
  • wifi名称后面有数字123的该怎么去掉?使用电脑连接网络的时候,发现wifi和网络后面都会出现1,2,3等数字,这代表什么意思,该怎么删除这些数字呢?下面我们就来看看详细的内容,需要的朋友可以参考下
  • /***去除小数点后多余的0*/function cutZero(old) {//拷贝份 返回去掉零的新串old = old + "";var newstr = old;//循环变量 小数部分长度var leng = old.length - old.indexOf(".") - 1;//判断是否有效if (old....
  • select CONVERT(FLOAT,0.600)  结果为0.6即去掉小数位后无意义的0
  • 如何去掉ALV数字字段小数点后面0

    千次阅读 2014-03-21 13:13:36
    只要ALV输出的参考结构里面把字段的属性DECIMALS_OUT 设置为0即可。 FORM FRM_CATLG_SET USING P_FIELD P_TEXT P_KEY.  DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.  LS_FIELDCAT-FIELDNAME = P_FIELD.  LS_...
  • js中 去掉小数点后面的数字

    千次阅读 2021-02-18 11:38:34
    其实这根据正则判断下就行了 先把数字转换成 字符串 var str = Number(str).replace(/\.\d+/g, ''); 最后再转换成数字 就行了 关注我 持续更新前端知识
  • xx.createTime会显示出毫秒,感觉很别扭尝试方法1.控制层使用SimpleDateFormat(“yyyy−MM−ddHH:mm:ss”),没用2.sql语句中使用DATEFORMAT()函数,没用(按道理做到这步应该就可以了,可能是我使用有问题)...
  • 主要介绍了mysql 中去除小数点后面多余的0的方法 ,需要的朋友可以参考下
  • 去掉字符串前面或后面0; 养猫还是养狗? 2019-07-03 17:10:23 4492 收藏 1 分类专栏: 工作 版权 方法: int a = 0; //将油站编码前的0去掉 if (jsonObject.getString("stationCode").substring(0, ...
  • 用正则表达式去除小数点后面多余的零,简单实用
  • 欢迎前往个人博客驽马点滴和视频空间 哔哩哔哩-《挨踢日志》 ...【思路】:如果是减少1个数,那么大家都知道方法——循环次,求A[]的和sum以及(1+2+...+n)=SUM,然后用SUM-sum就能得到结果。可是,现在出现...
  • C# 去除数值后面多余的0

    千次阅读 2019-10-25 10:26:22
    /* * 由SharpDevelop创建。... * 去除数值后面多余的0 * * * 要改变这种模板请点击 工具|选项|代码编写|编辑标准头文件 */ using System; using System.Text.RegularExpressions; namespa...
  • 转:https://blog.csdn.net/By_vain/article/details/51228358去掉前导的0,即把一个数字小数点前的0去掉。可以将该数字转换为字符串,然后把小数点前的数字与0比较,若为0去掉。与0比较可用BigDecimal类下的...
  • Java 去掉小数点后面多余的0

    万次阅读 2019-07-05 17:47:49
    Java 后端返回前端的数值位数过大或者小数点后面位数过多,会造成前端接受成科学计数法,一般的会把数值转为string 后返回给前端; 当小数点后位数过多,多余的0没有实际意义,根据业务需求需要去掉多余的0 后端存储浮点...
  • android 去掉小数点后面0

    千次阅读 2019-09-05 16:48:43
    /** * 去掉rmb小数点后面多余的0 * */ // 0.0500 public static String DeleteRMBZero(String rmb){ for (int i=0;i<rmb.length();i++){ // Log.e("Tag", "DeleteRMBZero: "+rmb )...
  • 最近VC6.0中用MFC实现一个简单计算器的功能,到后面显示的时候,显示的数据后面总有0,比如,12.000000,或者12.023000。显示是用字符串来显示的,后面总会有几个0,为了美观和需要,我们需要把后面0去掉:我...
  • 现在一个需求,double类型的数值,如果小数点后面0,则去掉小数点后面的数字,保留整数。 String quotaStr = "0"; Double quota = couponBatchVO.getQuota(); Integer quotaInt = quota.intValue(); if(quota - ...
  •  /// 小数点后如果只是0,显示整数,如果不是,显示原来的值  var cleanZero : String {  return self.truncatingRemainder(dividingBy: 1) == 0 ? String(format: "%.0f", self) : String(self)  ...
  • 工作中,有时候会碰到只需要整数的情况,但是别人整理给你的数字就往往存在个别是小数点的一个个去改又很麻烦。 那怎么办呢?现在给大家介绍 【取整函数】=trunc(A1) 具体操作如图: 1. 2.
  • 如: 1.000 去掉小数点后的0 后 ,变成 1  FORM append_fc_alv USING fieldname TYPE slis_fieldcat_alv-fieldname  key
  • mysql 去除字段后面0 的函数

    千次阅读 2020-06-24 18:21:34
    DELIMITER DROPFUNCTIONIFEXISTSudfremoveendzero DROP FUNCTION IF EXISTS udf_remove_end_zeroDROPFUNCTIONIFEXISTSudfr​emovee​ndz​ero CREATE FUNCTION udf_remove_end_...COMMENT ‘去除数值字符串末尾的0’ BE
  • 最近做项目遇到一个问题,数据全部要求deciaml格式,如果是6位小数就导致1.00000这种情况的存在,百度了很多,这里吐槽一下百度真的不行。最后查到了一个方法,这里记录一下 举个例子 数字 100.2000 第一次 这么使用...
  • Java 去除小数点后面多余的0

    万次阅读 2017-02-23 20:03:18
    问题描述:业务中,从excel里读取销售价格,取出来的数据并不是整数,而是数字后面带有小数点和零。(销售价为123,但是实际上取出来是123.0) 问题解决:利用正则表达式解决 ``` import java.math.BigDecimal; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 307,390
精华内容 122,956
关键字:

在一个数后面去掉一个0