文章目录
- 前言
- 一、数字格式化
- 二、字符串格式化
- 三、日期格式化
- 总结
前言
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网络请求的数据。
总结
多进行代码的练习