首页 > 编程语言 >java之保留几位小数的几种方式及添加千位分隔符

java之保留几位小数的几种方式及添加千位分隔符

时间:2023-03-23 14:31:37浏览次数:38  
标签:位者 java String 千位 double System 分隔符 println out


package decimal;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;

/**
 * java之保留几位小数的几种方式及添加千位分隔符
 * <p>ClassName: TestDecimal</p>
 * <p>Description: 保留几位小数</p>
 * <p>Author: Administrator</p>
 * <p>Date: 2017年4月26日</p>
 */
public class TestDecimal {
    public static void main(String[] args) {
        //方式一  小数位数不足4位者有几位就是几位,多于4位者仅留4位
        double dd1 = 911.911;
        double dd2 = 911.911911;
        DecimalFormat df = new DecimalFormat("#.0000");
        dd1 = Double.parseDouble(df.format(dd1));
        dd2 = Double.parseDouble(df.format(dd2));
        System.out.println(dd1);
        System.out.println(dd2);
        System.out.println("");
        //方式二  小数位数不足4位者用0补全,多于4位者仅留4位
        double ds1 = 911.911;
        double ds2 = 911.911911;
        String result1 = String.format("%.4f",ds1);
        String result2 = String.format("%.4f",ds2);
        System.out.println(result1);
        System.out.println(result2);
        System.out.println("");
        //方式三  小数位数不足4位者有几位就是几位,多于4位者仅留4位,并四舍五入
        double db1 = 911.911;
        double db2 = 911.91186;
        BigDecimal bd1 = new BigDecimal(db1);
        BigDecimal bd2 = new BigDecimal(db2);
        db1 = bd1.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
        db2 = bd2.setScale(4, BigDecimal.ROUND_HALF_UP).doubleValue();
        System.out.println(db1);
        System.out.println(db2);
        System.out.println("");
        //方式四  小数位数不足4位者有几位就是几位,多于4位者仅留4位
        double dn1 =911.911;
        double dn2 =911.911911;
        NumberFormat nf = NumberFormat.getNumberInstance();
        nf.setMaximumFractionDigits(4);
        String str1 = nf.format(dn1);
        String str2 = nf.format(dn2);
        System.out.println(str1);
        System.out.println(str2);
        System.out.println("");
        //添加千位分隔符
        double n = 1000.3;
        DecimalFormat df2 = new DecimalFormat("#,###.00");
        String m = df2.format(n);
        System.out.print(m);
    }
}


标签:位者,java,String,千位,double,System,分隔符,println,out
From: https://blog.51cto.com/u_6813689/6145013

相关文章

  • java rgb转hsv
    publicstaticdouble[]toHSV(intr,intg,intb){Colorcolor=newColor(r,g,b);float[]hsv=Color.RGBtoHSB(color.getRed(),color.getGre......
  • CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
    网上查应该是node导致的内存溢出,64位电脑默认1.4G,32位电脑默认0.7G在package.json中的Scripts中添加node的参数 "scripts":{  "serve":"node--max_old_s......
  • JAVA 数据类型,转换,变量,常量,命名规范
    数据类型拓展整数binary:0boctal:0hexadecimal:0x浮点数避免浮点数进行比较如果需要,用BigDecimal类字节字符的本质还是数值编码unicode2字节0-65536U......
  • Java初学者推荐学习书籍free下载
    场景Java是由SunMicrosystems公司于1995年5月推出的高级程序设计语言。Java可运行于多个平台,如Windows,MacOS,及其他多种UNIX版本的系统。Java分为三个体系:JavaSE(J2SE)(Jav......
  • 判断Javascript变量类型的函数
    toString本来是用来做字符串转换的,不过现在流行用来做变量类型的检查了。这里也的一个函数,方便检查变量的类型,可以用来代替typeof functiongetType(o){var_t;re......
  • Java开发:list列表元素遍历删除
    一、常见误区1、提前结束遍历(直接使用列表长度进行遍历)for(inti=0;i<list.size();i++){list.remove(i);}在list不断地删除元素的同时,总列表list的长......
  • javascript中的var,let,const区别
    const:这个最简单,只需记住是声明的常量,定义的时候必须声明const的具体值,且之后不允许改变const的值 var和let区别1、由于js引擎存在预解析,会把var变量名进行提升对于......
  • Java中使用Jacob实现Windows下语音合成并生成音频文件
    场景在服务端根据执行的中文文字内容合成相应的音频文件。这里推荐一种在Windows下调用jacob.dll文件实现语音合成。注:关注公众号霸道的程序猿获取编程相关电子书、教程......
  • MobileIMSDK怎样修改服务端核心jar包的源码并替换掉Java服务端的jar包
    上面记录过怎样将MobileIMSDK的Java服务端代码运行起来,服务端代码中引用的lib中的核心源码位置如下 注:关注公众号霸道的程序猿获取编程相关电子书、教程推送与免费下载。......
  • MobileIMSDK怎样将Java服务端运行起来以及打成jar包运行
    场景MobileIMSDK:https://gitee.com/jackjiang/MobileIMSDKMobileIMSDK是一套专为移动端开发的原创IM通信层框架注:关注公众号霸道的程序猿获取编程相关电子书、教程推送与......