package com.test;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class Main {
/**
* 测试用例为保留8位
* */
double f = 1234.1234567898789;
/**
* 由于 BigDecimal 对象是不可变的,此方法的调用不会 导致初始对象被修改;
* newScale - 要返回的 BigDecimal 值的标度;
* roundingMode - 要应用的舍入模式;
* ROUND_HALF_UP 舍入模式为四舍五入;
* */
public void method_01() {
BigDecimal bg = new BigDecimal(f);
double f1 = bg.setScale(8, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
}
/**
* DecimalFormat转换最简便
*/
public void method_02() {
DecimalFormat df = new DecimalFormat("#.00000000");
System.out.println(df.format(f));
}
/**
* String.format打印最简便
*/
public void method_03() {
System.out.println(String.format("%.8f", f));
}
public void method_04() {
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(8);
System.out.println(nf.format(f));
}
public static void main(String[] args) {
Main test = new Main();
test.method_01();
test.method_02();
test.method_03();
test.method_04();
}
}
结果:
1234.12345679
1234.12345679
1234.12345679
1,234.12345679

【转】Java保留固定小数位的4种方法的更多相关文章

  1. Java中Double保留后小数位的几种方法

    最近做个小实验,其中一部分要求将表单提交的数据转换为double,这个功能其实很简单直接一句Double.parseDouble(request.getParameter("chinese& ...

  2. java保留两位小数4种方法(转载)

    喵喵最近经常遇到小数点保留的问题,转载一篇Java里面的几种小数点位数控制方法. 这是转载的原地址:https://www.cnblogs.com/chenrenshui/p/6128444.html ...

  3. java保留两位小数4种方法

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

  4. java: 保留两位小数4种方法

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

  5. java double类型保留两位小数4种方法【转】

    4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberF ...

  6. java分享第十六天( java读取properties文件的几种方法&java配置文件持久化:static块的作用)

     java读取properties文件的几种方法一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取Propert ...

  7. Java中创建数组的几种方法

    Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...

  8. Java List转换为字符串的几种方法

    Java List转换为字符串的几种方法 import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import ...

  9. java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明)

    转载地址:http://www.devba.com/index.php/archives/4581.html java向MySQL插入当前时间的四种方式和java时间日期格式化的几种方法(案例说明); ...

随机推荐

  1. 全国计算机等级考试二级教程-C语言程序设计_第7章_函数

    函数执行,从右到左执行 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> main() ...

  2. win下vm10+mac os 10.9安装遇到问题

    在windows 8下安装vm10.0.0+mac os 10.9遇到问题记录例如以下: 一.因为之前我装的vm9+mac os 10.7: 二.准备安装mac os 10.9,把vm9换成vm10: ...

  3. 使用Abator生产ibatis配置文件

    什么都不说了,直接进入正题. 插件安装地址:http://ibatis.apache.org/tools/abator 里面有name和url,填了就可以安装了. 通过菜单的 File > Ne ...

  4. 新手求大神,有其他swit-case的思路写这个程序么?

    两个程序: switch-case与if-else if的区别相同点:可以实现多分支结构;不同点:switch:一般只能用于等值比较.(可以进行范围运算???---学会用switch计算范围出炉的思路 ...

  5. Block使用要点

    Block简介 Block其实包含两个部分内容 Block执行的代码,这是在编译的时候已经生成好的: 一个包含Block执行时需要的所有外部变量值的数据结构. Block将使用到的.作用域附近到的变量 ...

  6. OC中另外的一个常用技术:通知(Notification)

    OC中另外的一个常用技术:通知(Nofitication)其实这里的通知和之前说到的KVO功能很想,也是用于监听操作的,但是和KVO不同的是,KVO只用来监听属性值的变化,这个发送监听的操作是系统控制 ...

  7. jquery ajax调用

    client: <script type="text/javascript" language="javascript"> function jqu ...

  8. BOOST_PP_INC_I(x)实现

    这个比较有意思,# define BOOST_PP_INC_I(x) BOOST_PP_INC_ ## x 连接在一起以后,然后定义为x+1 实现了inc功能,不过最多也就到255 # /* Copy ...

  9. Android 通过HTTPCLINET GET请求互联网数据

    private EditText et; private TextView tv; HttpClient client; @Override protected void onCreate(Bundl ...

  10. 致命错误C0000034正在应用更新操作37解决方法

    当碰到这个问题的时候关闭电脑,启动,不断按F8键,进入命令行,输入Notepad.exe弹出记事本,文件,打开,所有文件,然后将C:\Windows\WinSxS目录下的pending.xml文件中的 ...