前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >DecimalFormat的使用讲解数字格式化和demo(java小数控制,金额返回相关处理)

DecimalFormat的使用讲解数字格式化和demo(java小数控制,金额返回相关处理)

作者头像
默 语
发布2024-11-20 09:03:37
发布2024-11-20 09:03:37
31800
代码可运行
举报
文章被收录于专栏:JAVAJAVA
运行总次数:0
代码可运行

在开发中经常要将数字进行格式化,比如取2位小数,这是最常见的。Java 提供DecimalFormat类,帮你用最快的速度将数字格式化为你需要的样子。下面是一个例子: DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度。 0 表示如果位数不足则以 0 填充 # 表示只要有可能就把数字拉上这个位置。上面的例子包含了差不多所有的基本用法.

“#” 表示数字,如果不存在则显示为空; “0” 表示数字,如果不存在则显示为0; “.”小数分割符或货币小数分隔符。 “%”前缀或后缀显示为百分数

阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数(123.4),科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以

代码语言:javascript
代码运行次数:0
复制
public static void main(String[] args) {
        double pi = 3.1415927;//圆周率
        //取一位整数
        //取一位整数
        System.out.println(new DecimalFormat("0").format(pi));//3
//取一位整数和两位小数
        System.out.println(new DecimalFormat("0.00").format(pi));//3.14
//取两位整数和三位小数,整数不足部分以0填补。
        System.out.println(new DecimalFormat("00.000").format(pi));// 03.142
//取所有整数部分
        System.out.println(new DecimalFormat("#").format(pi));//3
//以百分比方式计数,并取两位小数
        System.out.println(new DecimalFormat("#.##%").format(pi));//314.16%
        System.out.println("--------------------------------------------------------------");
        long c = 299792458;//光速
//显示为科学计数法,并取五位小数
        System.out.println(new DecimalFormat("#.#####E0").format(c));//2.99792E8
//显示为两位整数的科学计数法,并取四位小数
        System.out.println(new DecimalFormat("00.####E0").format(c));//29.9792E7
//每三位以逗号进行分隔。
        System.out.println(new DecimalFormat(",###").format(c));//299,792,458
//将格式嵌入文本
        System.out.println(new DecimalFormat("光速大小为每秒,###米。").format(c));

    }
代码语言:javascript
代码运行次数:0
复制
  public static void main(String[] args) {
        double b;
        b=100.45;
        //保留一位小数,四舍五入
        System.out.println(new DecimalFormat("0.0").format(b));  //100.5
        //保留一位小数,四射无入
        System.out.println(new DecimalFormat("#.#").format(b));  //100.5
        b=11.0023;
        //保留两位小数,四舍五入
        System.out.println(new DecimalFormat("0.00").format(b));  //11.00
        //保留两位小数,四射五入,但当末尾位0时,自动忽略
        System.out.println(new DecimalFormat("#.##").format(b));  //11
        b=20000.23456;
        //格式化分隔数字
        System.out.println(new DecimalFormat("#,##,###.####").format(b)); //20,000.2346
        b=0.23365;
        //按百分制输出,保留两位小数
        System.out.println(new DecimalFormat("#.##%").format(b)); //23.36%
        b=0.23366;
        System.out.println(new DecimalFormat("#.##%").format(b)); //23.37%
        b=123.455;
        //将所有数字加上负号输出,保留两位小数
        System.out.println(new DecimalFormat("-#.##").format(b)); //-123.45
        b=-123.456;
        System.out.println(new DecimalFormat("-#.##").format(b)); //--123.46
        b=0.00235;
        //按科学计数法输出,保留两位小数
        System.out.println(new DecimalFormat("#.##E0").format(b)); //2.35E-3
        b=0.00236;
        System.out.println(new DecimalFormat("#.##E0").format(b)); //2.36E-3
    }

扩展: DEMO:

描述 设计一个方法,将一个小于2147483647的double类型变量以截断取整方式转化为int类型

输入描述: 随机double类型变量 输出描述: 转化后的int类型变量

代码语言:javascript
代码运行次数:0
复制
package com.example.类型转换;

import java.text.DecimalFormat;
import java.util.Scanner;

public class java_test {

    //java 类型转换
    // 设计一个方法,将一个小于2147483647的double类型变量以截断取整方式转化为int类型
    public static void main(String[] args) {

        System.out.println("请输入double类型的小数");
        Scanner scanner = new Scanner(System.in);
        double d = scanner.nextDouble();
        System.out.println(java_test.typeConversion(d));
        
        

    }

    // 三种方式
    private static int typeConversion(double d) {
        DecimalFormat df = new DecimalFormat("#");//几个符合几位 . 小数点的位置 四舍五入
        int s = Integer.parseInt(df.format(d));

        System.out.println("math的返回之是"+Math.round(d));//四舍五入
         return  s;

        //  return (int) d;//强制返回int


    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档