Java格式化类

文章目录


前言

Java格式化类借鉴

今天我们来学习一下Java的格式化类,本人也是今天刚刚学习格式化类介绍不清楚请多多指教,有什么问题请网友可以指出来,以供学习,数字类,字符串类和时间类对这三种对象进行格式化输出下面逐一介绍

1.NumberFormat:数字格式化,抽象类  

2.MessageFormat:字符串格式化

3.DateFormat:日期/时间格式化,抽象类


提示:以下是本篇文章正文内容,下面案例可供参考

一、数字格式化

数字格式化:NumberFormat

工厂模式:DecimalFormat

DecimalFormat引用全路径名:java.text.DecimalFormat

JavaSE(标准版)官网描述:

DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够解析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数、定点数 、科学记数法表示的数 、百分数  和金额 使用方便常用于保留小数点后几位,数字间用分割,四舍五入等用法

两个符号用法:

#:用于表示整数部分为0时 , #认为整数不存在,可不写
      用于表示小数部分时,#代表最多有几位(四舍五入)
      用于表示整数部分有多位时,#正常表示

0:用于表示整数部分为0时 ,0认为没有,但至少写一位,写0
      用于表示小数部分时,0代表必须有且只能有几位(四舍五入)
      用于表示整数部分有多位时,0正常表示

示例代码供参考

import java.text.DecimalFormat;

public class Java20 {

	public static void main(String[] args) {
		//数字格式化
		//整数部分为0时的情况,看一下0/#的区别有什么不同
		DecimalFormat decimal1 = new DecimalFormat("#.00"); 
		DecimalFormat decimal2 = new DecimalFormat("0.00");
		
		//#能省就省原则
		System.out.println(decimal1.format(0.88));//输出.88
		System.out.println(decimal2.format(0.88));//输出0.88
		
		System.out.println(decimal1.format(0.8));//输出.80
		System.out.println(decimal2.format(0.8));//输出0.80
		
		//小数部分,0和#的区别
		//#代表最多有几位,0代表必须有且只能有几位
		DecimalFormat decimal3 = new DecimalFormat("#.00"); 
		DecimalFormat decimal4 = new DecimalFormat("0.00");
		
		System.out.println(decimal3.format(0.1));//输出.10
		System.out.println(decimal4.format(0.1));//输出0.10
		
		//四舍五入
		System.out.println(decimal3.format(0.006));//输出.01
		System.out.println(decimal4.format(0.006));//输出0.01
		
		//整数部分有多位
		//0和#对整数部分多位时的处理是一致的 就是有几位写多少位
		DecimalFormat decimal5 = new DecimalFormat("#.00"); 
		DecimalFormat decimal6 = new DecimalFormat("0.00");
		
		System.out.println(decimal5.format(2));//输出2.00
		System.out.println(decimal6.format(2));//输出2.00
		
		System.out.println(decimal5.format(200));//输出200.00
		System.out.println(decimal6.format(200));//输出200.00
		
		//规定自己想要的格式即用法
		DecimalFormat decimal7 = new DecimalFormat("###.###"); 
		DecimalFormat decimal8 = new DecimalFormat("000.000");
		DecimalFormat decimal9 = new DecimalFormat("###,###,###"); 
		DecimalFormat decimal10 = new DecimalFormat("000,000,000");
		
		//定义double类型
		double double1 = 123456789.123456;
		double double2 = 987654321.987654321;//四舍五入
		
		System.out.println(decimal7.format(double1));//输出123456789.123
		System.out.println(decimal7.format(double2));//输出987654321.988
		
		System.out.println(decimal8.format(double1));//输出123456789.123
		System.out.println(decimal8.format(double2));//输出987654321.988
		
		System.out.println(decimal9.format(double1));//输出123,456,789
		System.out.println(decimal10.format(double2));//输出987,654,322
		
		
	}

}

二、字符串格式化

字符串格式化:MessageFormat

MessageFormat提供了一种以与语言MessageFormat的方式生成连接消息的方法。 使用此选项可构建为最终用户显示的消息。

MessageFormat获取一组对象,对其进行格式化,然后将格式化的字符串插入到适当位置的模式中。

注意: MessageFormat与其他Format类的不同之处在于,您使用其构造函数(不使用getInstance样式工厂方法)创建MessageFormat对象。 工厂方法不是必需的,因为MessageFormat本身不实现特定于语言环境的行为。 任何特定于语言环境的行为都由您提供的模式以及用于插入参数的子格式定义。

-支持多个参数-值对位复制文本

-支持变量的自定义格式

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

三、日期/时间格式化

日期/时间格式化:DateFormat

就是把日期,日期的数值进行格式化,比如输出多少年/多少月/多少日,时间的格式有多种多样需要什么的格式可自行规定比如:2023/6/16;2023-6-16;等时间格式

java.time.format包下

DateTimeFormatter

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

多进行代码的练习

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据思想时代

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值