返回顶部
首页 > 资讯 > 精选 >Java如何去掉小数点后面无效0
  • 788
分享到

Java如何去掉小数点后面无效0

2023-07-02 16:07:14 788人浏览 八月长安
摘要

今天小编给大家分享一下Java如何去掉小数点后面无效0的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一:需求当小数位很多的时

今天小编给大家分享一下Java如何去掉小数点后面无效0的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    一:需求

    当小数位很多的时候,小数位后面可能有一些多余的0并没有任何实际意义。所以在某些业务需求下可以去掉这些多余的0。例如:0.2000可以用0.2来表示。

    二:方案

    2.1 正则匹配

        public String convertByPattern(String value) {        String regex = "^(-?\\d*)(\\.?0*)$";        Matcher matcher = Pattern.compile(regex).matcher(value);        if (matcher.find()) {            return matcher.group(1);        }        String regex1 = "^(-?\\d*\\.\\d*[1-9])(0*)$";        Matcher matcher1 = Pattern.compile(regex1).matcher(value);        if (matcher1.find()) {            return matcher1.group(1);        }        return null;    }

    当使用正则匹配的时候,需要代码中的两种正则表达式来进行匹配判断组合。第一种正则表达式用来匹配小数点后面全是0的值,例如122.000。第二种正则表达式用来匹配小数点后面存在非0数值的值,例如109.00200。

    上述方法支持正数和负数的处理

    在正则表达式中,使用分组的方式来实现,在正则匹配过程中,将要保留的部分放在第一个括号中,即组1,那么最终获取值的时候,就可以使用group(1)直接拿到

    关于两个表达式:

    表达式1:^(-?\d*)(\.?0*)$:

      -?:正负数的匹配均支持

      \d*:0个到n个数字,即匹配整数部分

      到这里,小数点前面部分就匹配完了,所以前面的部分可以作为第一组

      \.?:可以匹配0个或1个小数点

      0*:可以匹配0个或1个数值0

      第二个分组可有可无。因为表达式1主要使用用来识别出无小数点或者是小数点后面是若干个0的格式

    表达式2:^(-?\d*\.\d*[1-9])(0*)$:

      -?:正负数的匹配均支持

      \d*:0个到n个数字,即匹配整数部分

      \.:匹配小数点

      \d*[1-9]:匹配小数部分,因为表达式2的目的是匹配小数点后面存在非0数值。那么[1-9]就是用来匹配最后一个非0数值的

      (0*) $:如果最后一个为是非0数值,那么不会匹配到任何。如果最后一位是0,那么这里匹配到的就是最后一个非0数值后面的所有0

    2.2 BigDecimal

         public String convertByBigDecimal(String value) {        BigDecimal bigDecimal = new BigDecimal(value);        BigDecimal bigDecimal1 = bigDecimal.stripTrailingZeros();        return bigDecimal1.toPlainString();    }

    上述方法是将字符串转换为BigDecimal ,然后使用BigDecimal 原生方法stripTrailingZeros来去掉后面的无效0。同样的正负数均支持

    三:测试

     public static void main(String[] args) {                List<String> strings = Arrays.asList("100", "-100",                "123", "-123",                "123.0000", "-123.0000",                "100.0000", "-100.0000",                "123.0", "-123.0",                "100.0", "-100.0",                "123.0900", "-123.0900",                "100.0900", "-100.0900",                "123.0009", "-123.0009",                "100.0009", "-100.0009");        for (String value : strings) {            String s = new ZeroFORMatTest2().convertByPattern(value);            String s1 = new ZeroFormatTest2().convertByBigDecimal(value);            System.out.println(s + "----" + s1);        }    }

    结果输出:

    100----100
    -100-----100
    123----123
    -123-----123
    123----123
    -123-----123
    100----100
    -100-----100
    123----123
    -123-----123
    100----100
    -100-----100
    123.09----123.09
    -123.09-----123.09
    100.09----100.09
    -100.09-----100.09
    123.0009----123.0009
    -123.0009-----123.0009
    100.0009----100.0009
    -100.0009-----100.0009

    四:建议

    上述两种方法都可以实现我们的需求,但是从性能上面来讲,如果需要解析大量数据的时候,建议使用第一种,Pattern.compile(regex)可以是一个全局的,不需要每一条数据都实例化

    以上就是“Java如何去掉小数点后面无效0”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

    --结束END--

    本文标题: Java如何去掉小数点后面无效0

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

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

    猜你喜欢
    • Java如何去掉小数点后面无效0
      今天小编给大家分享一下Java如何去掉小数点后面无效0的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一:需求当小数位很多的时...
      99+
      2023-07-02
    • Java去掉小数点后面无效0的方案与建议
      目录一:需求二:方案2.1 正则匹配2.2 BigDecimal三:测试四:建议一:需求 当小数位很多的时候,小数位后面可能有一些多余的0并没有任何实际意义。所以在某些业务需求下可以...
      99+
      2024-04-02
    • 使用BigDecimal去掉小数点后无用的0
      目录如题:BigDecimal去掉小数点后无用的0解决:BigDecimal,有方法解决stripTrailingZeros()demo方法二:Java BigDecimal 小数点...
      99+
      2024-04-02
    • python 如何将浮点数尾部无效0去掉和无效的‘.’号
      方法一: a = 12.12300 #结果要求为12.123 b = 12.00 #结果为12 c = 200.12000 #结果为200.12 d = 200.0 #结果为...
      99+
      2024-04-02
    • javascript如何去掉小数点后两位
      这篇文章主要为大家展示了“javascript如何去掉小数点后两位”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript如何去掉小数点后两位”这篇文...
      99+
      2024-04-02
    • php如何去掉小数点后两位数
      这篇“php如何去掉小数点后两位数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何去掉小数点后两位数”文章吧。一、使...
      99+
      2023-07-05
    • 如何使用Python去除小数点后面多余的0
      本文小编为大家详细介绍“如何使用Python去除小数点后面多余的0”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何使用Python去除小数点后面多余的0”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Pytho...
      99+
      2023-07-02
    • php如何去掉小数点后的内容
      这篇文章主要介绍了php如何去掉小数点后的内容的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何去掉小数点后的内容文章都会有所收获,下面我们一起来看看吧。一:使用number_format函数number...
      99+
      2023-07-05
    • php小数如何去掉末尾0
      这篇文章主要介绍php小数如何去掉末尾0,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php小数去掉末尾0的方法:1、使用“+”运算符,直接加0,例“'100.00' + 0”;2、使用floatva...
      99+
      2023-06-15
    • php如何去掉数字最前面0
      这篇文章主要介绍“php如何去掉数字最前面0”,在日常操作中,相信很多人在php如何去掉数字最前面0问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何去掉数字最前面0”的疑惑有所帮助!接下来,请跟着小编...
      99+
      2023-07-05
    • php如何去掉多余的小数0位
      这篇“php如何去掉多余的小数0位”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何去掉多余的小数0位”文章吧。PHP...
      99+
      2023-07-05
    • php中如何去掉数字前面的0
      这篇文章给大家分享的是有关php中如何去掉数字前面的0的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php去掉数字前面的0的方法:1、通过“str_replace ("0", "&q...
      99+
      2023-06-15
    • php怎么去掉小数点后两位数
      PHP是一门开源语言,广泛应用于Web开发领域。在Web开发中,经常需要对数据进行处理和格式化,特别是对数字进行处理,例如去掉小数点后两位数。如何在PHP中实现该功能呢?本文就为大家详细介绍。一、使用number_format()函数num...
      99+
      2023-05-14
      php
    • 使用Python去除小数点后面多余的0问题
      目录Python去除小数点后面多余的0Python去掉数字前面的0Python去除小数点后面多余的0 最近在用Python 写导入数据的脚本。百度 必应搜了好多,都没有一个完美解决的...
      99+
      2024-04-02
    • java中double转String如何去掉整数结尾的小数位“.0“
      可以使用Java中的DecimalFormat类,设置格式化模式来实现将double转为String,去掉整数结尾的小数位.0。 以下是示例代码: double d = 1234.0;DecimalFormat df = new Decim...
      99+
      2023-10-06
      java double 转string 小数位 .0
    • php怎么去掉小数点后的内容
      在php中,对于浮点数的处理一直是一个让人头痛的问题。这是因为浮点数在计算机中的表示是有限的,而且很多浮点数的计算都会产生误差。其中,在输出中我们往往希望只保留小数点后面的几位,并去掉不需要的部分,本文就介绍几种php去掉小数的方法。一:使...
      99+
      2023-05-14
      php
    • php字符串如何去掉小数点
      这篇文章主要介绍“php字符串如何去掉小数点”,在日常操作中,相信很多人在php字符串如何去掉小数点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php字符串如何去掉小数点”的疑惑有所帮助!接下来,请跟着小编...
      99+
      2023-06-30
    • php如何将数值后面的零去掉
      本篇内容主要讲解“php如何将数值后面的零去掉”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何将数值后面的零去掉”吧!两种去除方法:1、使用rtrim()函数,语法“rtri&...
      99+
      2023-06-30
    • javascript如何去除小数点后的数
      这篇文章主要介绍“javascript如何去除小数点后的数”,在日常操作中,相信很多人在javascript如何去除小数点后的数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
      99+
      2024-04-02
    • Springboot如何去掉URL后面的jsessionid
      目录如何去掉URL后面的jsessionidurl中有Jsessionid生成的原因解决方式一解决方式二Java关于jsessionid和URL对SEO的冲击安全问题解决之道如何去掉...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作