在java中 如何让double 型输出整数不显示小数点和其后的0

本文详细介绍了JSTL的fmt标签库,包括formatNumber、parseNumber、formatDate、parseDate等,用于数字、日期的格式化和解析。通过示例展示了如何设置不同类型、格式、精度等属性,实现数字的四舍五入、科学计数法、货币格式、百分比格式,以及日期的多种风格显示。同时,还涵盖了国际化和时间区的处理,如setLocale、setTimeZone、timeZone等标签的使用。
摘要由CSDN通过智能技术生成
public class DoubleTrans{
  

public static String doubleTrans(double d){
if(Math.round(d)-d==0){
return String.valueOf((long)d);
}
return String.valueOf(d);
}
public static void main(String args[]){
double a=3.0d,b=3.1d;
System.out.println(doubleTrans(a));
System.out.println(doubleTrans(b));
}
}
运行结果:3 3.1

或者使用new DecimalFormat("#.##").format(d);

在页面上显示double时,不显示.0得通过JSTL fmt标签了:

JSTL标签提供了对国际化(I18N)的支持,它可以根据发出请求的客户端地域的不同来显示不同的语言。同时还提供了格式化数据和日期的方法。实现这些功能需要I18N格式标签库(I18N-capable formation tags liberary)。引入该标签库的方法为:

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

I18N格式标签库提供了11个标签,这些 标签从功能上可以划分为3类如下:

(1)数字日期格式化。formatNumber标签、formatData标签、parseNumber标签、parseDate标签、timeZone标签、setTimeZone标签。

(2)读取消息资源。bundle标签、message标签、setBundle标签。

(3)国际化。setlocale标签、requestEncoding标签。

接下将详细介绍这些标签的功能和使用方式。

9.3.1 数字日期格式化

数字日期格式化标签共有6个,用来将数字或日期转换成设定的格式。

1.<frm:formatNumber/>标签

该标签依据特定的区域将数字改变为不同的格式来显示。

【语法1】:

<frm:formatNumber value=”被格式化的数据”[type=”number|currency|percent”]

                                               [pattern=”pattern”]

                                               [currencyCode=”code”]

                                               [currencySymbol=”symbol”]

                                               [groupingUsed=”true|false”]

                                               [maxIntergerDigits=”maxDigits”]

                                               [minIntergerDigits=”minDigits”]

                                               [maxFractionDigits=”maxDigits”]

                                               [minFractionDigits=”minDigits”]

                                               [var=”name”]

                                               [scope=page|request|session|application]

/>

【语法2】: 

<frm:formatNumber [type=”number|currency|percent”]

                                               [pattern=”pattern”]

                                               [currencyCode=”code”]

                                               [currencySymbol=”symbol”]

                                               [groupingUsed=”true|false”]

                                               [maxIntergerDigits=”maxDigits”]

                                               [minIntergerDigits=”minDigits”]

                                               [maxFractionDigits=”maxDigits”]

                                               [minFractionDigits=”minDigits”]

                                               [var=”name”]

                                               [scope=page|request|session|application]

<fmt:formatNumber>标签参数说明:

名称

说明

EL

类型

必须

默认值

value

要格式化的数据

String

type

指定类型(单位、货币、百分比等)见表

String

number

pattern

格式化的数据样式

String

currencyCode

货币单位代码

String

cuttencySymbol

货币符号($、¥)

String

groupingUsed

是否对整数部分进行分组如(9,999)

boolean

true

maxIntergerDigits

整数部分最对显示多少位数

int

minIntergerDigits

整数部分最少显示多少位

int

maxFractionDigits

小数部分最多显示多少位

int

minFractionDigits

小数部分最少显示多少位

int

var

存储格式化后的数据

String

scope

var的JSP范围

String

page

Type属性的类型应用:.

类型

说明

示例

number

数字格式

0.8

currency

当地货币

¥0.80

percent

百分比格式

80%

【示例代码】:实现了对数字的格式化、货币的格式、货币的格式化。使用<frm:formatNumber>的各种属性的设定。

<table border=1 cellpadding="0" cellspacing="0" align="center">

 <tr align="center">

<td width="100">类型 </td>

<td width="100">使用数据</td>

<td width="100">结果</td>

<td width="300">说明</td>

 </tr>

 <tr>

 <td>数字格式化</td><td>108.75</td>

 <td><fmt:formatNumber type="number" pattern="###.#">108.75</fmt:formatNumber></td>

 <td>使用pattern可以定义显示的样式。本例设定为###.#小数部分将使用四舍五入法。</td>

 </tr>

 <tr>

 <td>数字格式化</td><td>9557</td>

 <td><fmt:formatNumber type="number" pattern="#.####E0">9557</fmt:formatNumber></td>

 <td>使用科学计数法。</td> 

 </tr>

 <tr>

 <td>数字格式化</td><td>9557</td>

 <td><fmt:formatNumber type="number" >9557</fmt:formatNumber></td>

 </td>

 <td>使用默认分组。</td>

 </tr>

 <tr>

 <td>数字格式化</td><td>9557</td>

 <td><fmt:formatNumber type="number" groupingUsed="false" >9557</fmt:formatNumber></td>

 <td>不使用分组。</td>

 </tr>

 <tr>

 <td>数字格式化</td><td>9557</td>

 <td><fmt:formatNumber type="number" maxIntegerDigits="3">9557</fmt:formatNumber></td>

 <td>使用位数限定,根据指定的位数显示,其他数字忽略。例如:9不被显示。</td>

 </tr>

 <tr>

 <td>百分比格式化</td><td>0.98</td>

 <td><fmt:formatNumber type="percent">0.98</fmt:formatNumber></td>

 <td>用百分比形式显示一个数据。</td>

 </tr>

 <tr>

 <td>货币格式化</td><td>188.88</td>

 <td><fmt:formatNumber type="currency" >188.8</fmt:formatNumber></td>

<td>将一个数据转化为货币形式输出。</td>

 </tr>

 <tr>

 <td>存储数据</td><td>188.88</td>

 <td><fmt:formatNumber type="currency" var="money"

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值