您当前的位置: 首页 >  android

梁同学与Android

暂无认证

  • 3浏览

    0关注

    618博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Android --- 怎么去掉小数后面不必要的 0

梁同学与Android 发布时间:2021-09-30 12:45:01 ,浏览量:3

今天写项目的时候遇到这样一个问题,金钱一般是这样的1038 如果我们数据库设置了 demical 小数位数为 2 位,那么就会显示为1038.00,为了去掉后面的0。我尝试了几种方法,踩遍了坑,最终推荐用正则表达式来去掉0

错误示例1:

import java.text.NumberFormat
 
NumberFormat nf = NumberFormat.getInstance();
         nf.format(3.300); 

错误示例1坑了我一波,比如1038,他不会保存1038到数据库而是1,038这种格式化的方式与demical 不能够结合使用,pass。

正确示例:


public class TestString {  
  
    public static void main(String[] args) {  
        Float f = 1f;  
        System.out.println(f.toString());//1.0  
        System.out.println(subZeroAndDot("1"));;  // 转换后为1  
        System.out.println(subZeroAndDot("10"));;  // 转换后为10  
        System.out.println(subZeroAndDot("1.0"));;  // 转换后为1  
        System.out.println(subZeroAndDot("1.010"));;  // 转换后为1.01   
        System.out.println(subZeroAndDot("1.01"));;  // 转换后为1.01  
    }  
      
    /** 
     * 使用java正则表达式去掉多余的.与0 
     * @param s 
     * @return  
     */  
    public static String subZeroAndDot(String s){  
        if(s.indexOf(".") > 0){  
            s = s.replaceAll("0+?$", "");//去掉多余的0  
            s = s.replaceAll("[.]$", "");//如最后一位是.则去掉  
        }  
        return s;  
    }  
      
}
关注
打赏
1660730345
查看更多评论
立即登录/注册

微信扫码登录

0.3226s