JAVA float double数据类型保留2位小数点5种方法

/**
* Java 两个整数相除保留两位小数,将小数转化为百分数
* java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数,必须将两整数其一或是两者都强制转换为浮点数。
例如:
(float)a/b // 将整数其中一个强制转换为浮点数,再与另一个整数相除
a/(float)b
(float)a/(float)b // 将两个整数同时强制转换为浮点数后再相除
*/

///////计算小数点的位数:
        System.out.println("1/8="+1/(float)8);

        float TT = Math.round(1/(float)8);   //返回的是int型。
        System.out.println("四舍五入小数:"+TT);
        System.out.println("四舍五入小数2:"+Math.round(2.1546));
////方法1
        double dd = (double) (Math.round(1/(float)8*100)/100.0);
        System.out.println("dd="+dd);
        // (double) (Math.round(sd3*10000)/10000.0);   这样为保持4位
////方法2
        DecimalFormat df2 = new DecimalFormat("###.00");
        DecimalFormat df3 = new DecimalFormat("###.000");

        System.out.println("转换2="+df2.format(1/(float)8));
        System.out.println("转换3="+df3.format(1.1256));
////方法3
//        String ss = String.format("%10.2f%%", 1.1256);  //1.13f
//        String ss = String.format("%10.2f", 1.1256);   //       1.13
        String ss = String.format("%1.2f", 1.1256);   //1.13
        System.out.println("转换4="+ss);
////方法4
         double x=23.5455;
         NumberFormat ddf1=NumberFormat.getNumberInstance() ;
         ddf1.setMaximumFractionDigits(2);
         String s= ddf1.format(x) ;
         System.out.print("数字格式="+s);   //四舍五入   23.55
////方法5
        float T = 0.1257f;
        BigDecimal b = new BigDecimal(T);
        T = b.setScale(2,BigDecimal.ROUND_HALF_UP).floatValue();
        System.out.println("保留2位小数:"+T);
时间: 2024-07-31 04:35:37

JAVA float double数据类型保留2位小数点5种方法的相关文章

【开发日志】Long/Bigdecimal/double数据类型保留两位小数

今天开发碰到个需求就是保证回显到页面的数据保留两位小数,实际我们的数据是八位小数 可以明显的看到Bigdecimal是八位,虽说Long类型不用保留两位(强迫症),但是我还是想保留 1.Long类型 String.format("%.2f",参数) .第二个参数是double数据类型,String,int,Long 类型是不行的,float可以 2.Bigdecimal java.text.DecimalFormat df =new java.text.DecimalFormat(&q

java保留两位小数4种方法

4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class format {     double f = 111231.5585;     public void m1() {         BigDecimal bg = new BigDecimal(f);         double f1 = bg.setS

Java-小技巧-005-double类型保留两位小数4种方法

4种方法,都是四舍五入,例: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class format { double f = 111231.5585; public void m1() { BigDecimal bg = new BigDecimal(f); double f1 = bg.setScale(2, BigDecimal.ROUND

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

import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; public class format { double f = 111231.5585; public void m1() { BigDecimal bg = new BigDecimal(f); double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubl

java使double保留两位小数的多方法 java保留两位小数

这篇文章主要介绍了java使double类型保留两位小数的方法,大家参考使用吧 复制代码 代码如下: mport java.text.DecimalFormat; DecimalFormat    df   = new DecimalFormat("######0.00"); double d1 = 3.23456  double d2 = 0.0;double d3 = 2.0;df.format(d1); df.format(d2); df.format(d3); 3个结果分别为:

java使double保留两位小数的多方法

java使double保留两位小数的多方法 java保留两位小数 mport java.text.DecimalFormat; DecimalFormat df = new DecimalFormat("######0.00"); double d1 = 3.23456 double d2 = 0.0; double d3 = 2.0; df.format(d1); df.format(d2); df.format(d3); 3个结果分别为: 3.23 0.00 2.00 java保留

java中double变量保留小数问题

(转载自玄影池扁舟) 做java项目的时候可能经常会遇到double类型变量保留小数的问题,下面便把我的经验做个简短的总结: java中double类型变量保留小数问题大体分两种情况: (一):小数点后面位数过长,四舍五入保留指定位数: 可以用以下代码实现: public class TestDemo { public static void main(String[] args) {     double a=15.32743859;     double b=Math.round(a*100

Double 数据保留两位小数一:五舍六入

1 package com; 2 3 public class T2 { 4 5 public static void main(String[] args) { 6 7 System.out.println(calculateProfit(0.233)); 8 System.out.println(calculateProfit(0.235)); 9 System.out.println(calculateProfit(0.237)); 10 System.out.println(calcul

正则表达式:网店中折扣价格-要求大于0小于10,且允许保留一位小数点

需求:网店中折扣价格-要求大于0小于10,且允许保留一位小数点 需求分析: 1,)取值范围为(0,10),两端都是开区间: 2,)“可保留一位小数”,可以不包含小数,但如果包含小树就一定要仅包含一位小数. 开发(javascript下): 第一步:0-10包含一位小数:/^\d(\.\d)?$/ 第二步:排除特殊的0和0.0和10,这样的写法为: /^[^0][^0.0][^10]\d(\.\d)?$/ 测试下:是否是我们想要的结果呢? 答案:no 具体原因,我也解释不清. 换种思路: 既然0.